Java加入背景音樂


    近期有幾個師妹找我給她們的Java期末作業加入背景音樂,非常久不琢磨Java的我花費整晚才搞定,羞愧。在博客中記錄下來。警示自己。也幫助一下大家。

    Java中能夠通過AudioClip類來實現音樂播放。循環等操作。AudioClip支持的音樂格式有.wav、.mid、AIFF、AU、RMF,可是格式要求相當嚴格。

我用AudioClip播放我自己錄的一段wav文件就沒有聲音。讓我糾結了非常久。最后才發現我的wav文件內容沒有寫文件尾,對於格式要求嚴格的AudioClip而言是無法識別的(這個問題困擾了我整晚)。

    AudioCLip基本的方法有:play()播放依次聲音;loop()循環播放音樂。stop()停止播放。

    做法一:

InputStream   is =null;   
AudioStream   as = null ; 
  is  =   getClass().getResourceAsStream("a.wav");  
try {
as =   new   AudioStream(is);
} catch (IOException e) {}  
AudioPlayer.player.start(as);
    此方法將音樂文件放入流中在播放,僅限於Java Application。easy報錯,空指針異常。或者是流異常,不推薦。

    做法二:

  String   music  = "a.wav";  
  AudioClip   clip   =   Applet.newAudioClip(getClass().getResource(music)); 

    次方法在Applet中執行沒有問題。可是Application中getclass()會返回空指針,導致失敗。

    推薦做法:

private URL url;
private AudioClip
ac;

File f1 = new File("C:/3.wav");
   try {
    url= f1.toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();

   ac= Applet.newAudioClip(cb1);
   ac.play();

    此方法沒有限制,Java程序都支持。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM