學(xué)習(xí)過java語言的你,或多或少,在某天突發(fā)奇想,想著用swing做一個(gè)音樂播放器。但是,發(fā)現(xiàn)很難找到,相關(guān)的java代碼,或者你下載的代碼有問題,或者你代碼里面引入的類包找不到。為了解決自如此類的問題。在這兒,有如下的代碼可以供大家參考。
10年積累的成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有鐵力免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
package TheMusic; import java.io.*; import javax.sound.sampled.*; public class Music { public static void main(String[] args) { // TODO Auto-generated method stub //修改你的音樂文件路徑就OK了 AePlayWave apw=new AePlayWave("突然好想你.wav"); apw.start(); } }
在程序中實(shí)例化這個(gè)類,啟動(dòng)線程,實(shí)例化的時(shí)候參照Test修改路徑就OK播放聲音的類
public class AePlayWave extends Thread { private String filename; public AePlayWave(String wavfile) { filename = wavfile; } public void run() { File soundFile = new File(filename); AudioInputStream audioInputStream = null; try { audioInputStream = AudioSystem.getAudioInputStream(soundFile); } catch (Exception e1) { e1.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[512]; try { while (nBytesRead != -1) { nBytesRead = audioInputStream.read(abData, 0, abData.length); if (nBytesRead >= 0) auline.write(abData, 0, nBytesRead); } } catch (IOException e) { e.printStackTrace(); return; } finally { auline.drain(); auline.close(); } } }
好了,到此結(jié)束。
更多關(guān)于播放器的內(nèi)容請(qǐng)點(diǎn)擊《java播放器功能》進(jìn)行學(xué)習(xí)。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。