亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

使用javax.sound實現簡單音頻播放

2024-07-14 08:39:51
字體:
來源:轉載
供稿:網友

本文實例為大家分享了javax.sound實現簡單音頻播放的具體代碼,供大家參考,具體內容如下

/** * @see * @author Al_assad yulinying_1994@outlook.com * @date 2016年11月17日 下午6:27:59 * @version V1.0  * Description: 簡易音頻播放器(只支持AU,RA,WAV) *       在不使用JMF的情況下快速實現音頻播放 * */ import javax.sound.sampled.*; import java.io.*;  public class MusicPlayer {   private String musicPath; //音頻文件   private volatile boolean run = true; //記錄音頻是否播放   private Thread mainThread;  //播放音頻的任務線程      private AudioInputStream audioStream;   private AudioFormat audioFormat;   private SourceDataLine sourceDataLine;      public MusicPlayer(String musicPath) {     this.musicPath = musicPath;     prefetch();   }      //數據準備   private void prefetch(){     try{     //獲取音頻輸入流     audioStream = AudioSystem.getAudioInputStream(new File(musicPath));     //獲取音頻的編碼對象     audioFormat = audioStream.getFormat();     //包裝音頻信息     DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class,         audioFormat,AudioSystem.NOT_SPECIFIED);     //使用包裝音頻信息后的Info類創建源數據行,充當混頻器的源     sourceDataLine = (SourceDataLine)AudioSystem.getLine(dataLineInfo);          sourceDataLine.open(audioFormat);     sourceDataLine.start();          }catch(UnsupportedAudioFileException ex){       ex.printStackTrace();     }catch(LineUnavailableException ex){       ex.printStackTrace();     }catch(IOException ex){       ex.printStackTrace();     }        }   //析構函數:關閉音頻讀取流和數據行   protected void finalize() throws Throwable{     super.finalize();     sourceDataLine.drain();     sourceDataLine.close();     audioStream.close();   }      //播放音頻:通過loop參數設置是否循環播放   private void playMusic(boolean loop)throws InterruptedException {     try{         if(loop){           while(true){             playMusic();           }         }else{           playMusic();           //清空數據行并關閉           sourceDataLine.drain();           sourceDataLine.close();           audioStream.close();         }            }catch(IOException ex){       ex.printStackTrace();     }             }   private void playMusic(){     try{       synchronized(this){         run = true;       }       //通過數據行讀取音頻數據流,發送到混音器;       //數據流傳輸過程:AudioInputStream -> SourceDataLine;       audioStream = AudioSystem.getAudioInputStream(new File(musicPath));       int count;       byte tempBuff[] = new byte[1024];                while((count = audioStream.read(tempBuff,0,tempBuff.length)) != -1){           synchronized(this){           while(!run)             wait();           }           sourceDataLine.write(tempBuff,0,count);                      }      }catch(UnsupportedAudioFileException ex){       ex.printStackTrace();     }catch(IOException ex){       ex.printStackTrace();     }catch(InterruptedException ex){       ex.printStackTrace();     }        }         //暫停播放音頻   private void stopMusic(){     synchronized(this){       run = false;       notifyAll();     }   }   //繼續播放音樂   private void continueMusic(){     synchronized(this){        run = true;        notifyAll();     }   }         //外部調用控制方法:生成音頻主線程;   public void start(boolean loop){     mainThread = new Thread(new Runnable(){       public void run(){         try {           playMusic(loop);         } catch (InterruptedException e) {           e.printStackTrace();         }       }     });     mainThread.start();   }      //外部調用控制方法:暫停音頻線程   public void stop(){     new Thread(new Runnable(){       public void run(){         stopMusic();                }     }).start();   }   //外部調用控制方法:繼續音頻線程   public void continues(){     new Thread(new Runnable(){       public void run(){         continueMusic();       }     }).start();   }  //Test   public static void main(String[] args) throws InterruptedException{      MusicPlayer player = new MusicPlayer("bgm/1.wav");  //創建音樂播放器          player.start(true);  //以開始以循環的形式播放,player(false)為不循環播放          TimeUnit.SECONDS.sleep(5);          player.stop();  //暫停播放音頻          TimeUnit.SECONDS.sleep(4);          player.continues();  //繼續開始播放音頻        }   } 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲丁香久久久| 日韩精品在线免费播放| 欧美最猛性xxxxx(亚洲精品)| 成人在线视频网站| 136fldh精品导航福利| 狠狠色狠色综合曰曰| 欧美日韩国内自拍| 亚洲影院色无极综合| 自拍偷拍亚洲欧美| 亚洲美女动态图120秒| 久久中文字幕一区| 精品人伦一区二区三区蜜桃网站| 这里只有精品久久| 久久久久久亚洲精品中文字幕| 国产不卡精品视男人的天堂| 国产欧美日韩精品丝袜高跟鞋| 日韩精品欧美激情| 4k岛国日韩精品**专区| 亲爱的老师9免费观看全集电视剧| 成人免费在线视频网站| 免费不卡欧美自拍视频| 国产一区视频在线播放| 国产精品91在线观看| 午夜精品美女自拍福到在线| 欧美精品久久久久a| 九九九热精品免费视频观看网站| 日韩中文字幕在线视频| 亚洲黄色av女优在线观看| 精品视频久久久久久久| 2019日本中文字幕| 日韩欧美在线视频日韩欧美在线视频| 欧美第一页在线| www.久久撸.com| 2021久久精品国产99国产精品| 久久免费高清视频| 136fldh精品导航福利| 日本中文字幕不卡免费| 欧美夜福利tv在线| 情事1991在线| 国产精品2018| 国产综合在线观看视频| 国产亚洲欧洲黄色| 亚洲电影成人av99爱色| 日韩免费在线播放| 日本精品中文字幕| 国语自产精品视频在线看一大j8| 国产精品欧美激情在线播放| 国产精品视频最多的网站| 欧美一级片久久久久久久| 亚洲欧美日韩精品久久奇米色影视| 91中文在线观看| 亚洲女人天堂视频| 亚洲va码欧洲m码| 国产欧美一区二区三区久久人妖| 高清一区二区三区四区五区| 高跟丝袜一区二区三区| 日韩中文字幕在线视频| 亚洲美女www午夜| 精品中文视频在线| 亚洲欧美中文日韩在线| 亚洲精品mp4| 国产精品老女人精品视频| 精品毛片网大全| 91夜夜未满十八勿入爽爽影院| 国产精品视频一区国模私拍| 欧美激情三级免费| 成人网在线免费看| 欧美性极品xxxx娇小| 久久精品国产2020观看福利| 最近2019年好看中文字幕视频| 色午夜这里只有精品| 久久精品国产99国产精品澳门| 国产亚洲精品一区二区| 国外日韩电影在线观看| 国产精品嫩草影院久久久| 亚洲午夜未满十八勿入免费观看全集| 精品国产一区久久久| 亚洲一区二区三区在线免费观看| 国产精品国产三级国产专播精品人| 91久久精品一区| 精品久久国产精品| 久久久精品电影| 色综合91久久精品中文字幕| 成人黄色免费看| 6080yy精品一区二区三区| 日韩电影在线观看永久视频免费网站| 国产精品视频不卡| 在线亚洲国产精品网| 久久综合伊人77777蜜臀| 日韩亚洲综合在线| 国产成人精品免高潮在线观看| 日韩精品在线视频美女| 亚洲男子天堂网| 国产精品在线看| 国产欧美最新羞羞视频在线观看| 日韩精品在线免费观看视频| 中文字幕日韩精品有码视频| 91精品久久久久久久久久| 日韩av在线最新| 国产精品日韩久久久久| 国产一区二区激情| 欧美黑人极品猛少妇色xxxxx| 欧美在线观看视频| 国产精品久久久久免费a∨| 成人免费观看a| 国产精品第一视频| 国产视频亚洲视频| 成人做爰www免费看视频网站| 欧美黄色片视频| 精品国产电影一区| 日韩av影视综合网| 欧美激情久久久久| 日韩精品中文字幕视频在线| 91探花福利精品国产自产在线| 成人日韩在线电影| 午夜精品一区二区三区在线| 亚洲精品国精品久久99热| www.亚洲一二| 久久精品视频在线播放| 欧美日韩国产中字| 国产成人精品视| 久久99亚洲热视| 欧美日韩一区二区免费视频| 97**国产露脸精品国产| 亚洲精品小视频在线观看| 国产精品狼人色视频一区| 精品久久久91| 精品一区二区亚洲| 国产成人精品日本亚洲| 国产v综合ⅴ日韩v欧美大片| 成人性生交大片免费看小说| 日韩精品极品视频| 中文字幕在线观看亚洲| 国产精品www| 91亚洲精品一区| 精品女同一区二区三区在线播放| 久久色免费在线视频| 欧美怡红院视频一区二区三区| 亚洲自拍另类欧美丝袜| 中文字幕在线视频日韩| 欧美精品成人91久久久久久久| 国产精品嫩草视频| 最近中文字幕2019免费| 欧美精品videosex牲欧美| 国产精品大片wwwwww| 日韩在线观看网站| 成人精品视频在线| 中文综合在线观看| 国产99久久精品一区二区| 国产成人aa精品一区在线播放| 亚洲综合国产精品| 欧美精品中文字幕一区| 欧美亚洲第一区| 欧美老少配视频| 欧美日韩精品在线观看| 久久在精品线影院精品国产| 欧美成aaa人片在线观看蜜臀| 日韩精品免费视频| 欧美人在线视频| 中文字幕精品网| 国产精品v日韩精品| 黑人巨大精品欧美一区二区三区| 亚洲欧美国产日韩中文字幕| 亚洲美腿欧美激情另类|