你好:
婁星網站制作公司哪家好,找成都創新互聯公司!從網頁設計、網站建設、微信開發、APP開發、成都響應式網站建設公司等網站項目制作,到程序開發,運營維護。成都創新互聯公司于2013年創立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創新互聯公司。
synchronized(this)里面的this很關鍵,也就是想要2個線程同時迸發,必須是同一個this,否則就不行,你可以考慮下。
可以使用Applet組件,主要的代碼如下(缺點是能播放WAv格式的,還有其它格式,不過mp3不行,):
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.FlowLayout;
import java.awt.event.*;
import java.io.File;
import java.net.MalformedURLException;
//播放音樂按鈕
private JButton getPlayButton(){
if(playButton==null){
playButton=new JButton("播放");
playButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(filePath.getText()!=null){
try{
if(audioClip!=null){
audioClip.stop();
}
audioClip=Applet.newAudioClip(new File(filePath.getText()).toURI().toURL());
audioClip.play();//播放
}//只需要添加一個File對象傳入文件路徑
catch(MalformedURLException ee){ee.printStackTrace();}
}
}
});
}
return playButton;
}
playCycle(String s)這個是單曲重復播放;play(String s)這個是單曲播放。
/******* part one start *******/
//獲取媒體文件流
AudioInputStream ais = AudioSystem.getAudioInputStream(new File(fileurl));
//獲取文件格式
AudioFormat aif = ais.getFormat();
//這個類不知道是什么,沒用過,在這里應該是對媒體流處理的一個類
SourceDataLine sdl = null;
//這個貌似通過媒體格式,獲取媒體文件的信息
DataLine.Info info = new DataLine.Info(SourceDataLine.class,aif);
//通過媒體文件的信息初始化處理媒體文件的類
sdl = (SourceDataLine)AudioSystem.getLine(info);
//媒體工具類 打開媒體流
sdl.open(aif);
//媒體工具(播放器)開啟
sdl.start();
/******* part one end *******/
/******* part two start ********/
int nByte = 0;
byte[] buffer = new byte[128];
//媒體工具類(播放器類)對媒體流進行寫入處理,此時應該會有音樂響起吧
while(nByte != -1){
nByte = ais.read(buffer,0,128);
if(nByte = 0){
int oByte = sdl.write(buffer, 0, nByte);
//System.out.println(oByte);
}
}
//媒體流結束,并關閉這個媒體工具類
sdl.stop();
/******* part two end********/
網站題目:java音效代碼 java播放音樂代碼
瀏覽地址:http://vcdvsql.cn/article34/doicjse.html
成都網站建設公司_創新互聯,為您提供網站設計、企業建站、關鍵詞優化、外貿網站建設、手機網站建設、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯