首页 > 代码库 > Java添加背景音乐

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,容易报错,空指针异常,或者是流异常,不推荐。

    做法二:

  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程序都支持。