java调用声音文件

    xiaoxiao2021-03-25  89

    //播放声音的类(利用一个线程) class PlayWave extends Thread{

    private String filename; public PlayWave(String wavfile){ filename=wavfile; } public void run(){ File soundFile=new File(filename); //调用音频流 AudioInputStream audioInputStream=null; try { audioInputStream=AudioSystem.getAudioInputStream(soundFile); } catch (Exception e) { e.printStackTrace(); return; } AudioFormat format=audioInputStream.getFormat(); SourceDataLine auline=null; DataLine.Info info=new DataLine.Info(SourceDataLine.class, format); try{ auline=(SourceDataLine) AudioSystem.getLine(info); auline.open(format); }catch(Exception e){ e.printStackTrace(); return; } auline.start(); int nBytesRead=0; //缓冲 byte[] abData=new byte[1024]; try{ while(nBytesRead!=-1){ nBytesRead=audioInputStream.read(abData,0,abData.length); if(nBytesRead>=0) auline.write(abData, 0, nBytesRead); } }catch(Exception e){ e.printStackTrace(); return; }finally{ auline.drain(); auline.close(); } }

    }

    转载请注明原文地址: https://ju.6miu.com/read-23814.html

    最新回复(0)