1

我正在尝试使用 JLayer 将背景音乐添加到我的游戏中。如何将其设置为循环播放?

http://www.javazoom.net/javalayer/javalayer.html

    BackgroundMusic bm = new BackgroundMusic("music.mp3");
    bm.start();
4

2 回答 2

2

我有这种方法来播放我的 mp3 文件

 jlayer.jar 
 mp3plugin.jar
 jaudiotagger-2.0.1.jar

  private void playMe(){
  try {

      File file=new File("F:\\Net Beans Work Space\\mp3\\a.mp3");
      FileInputStream fis     = new FileInputStream(file);

      BufferedInputStream bis = new BufferedInputStream(fis);
      player = new Player(bis);

      int d=0;
      AudioFile audioFile = AudioFileIO.read(file);
      d = audioFile.getAudioHeader().getTrackLength();

      System.out.print("ddd=   "+d)  ;

      player.play();
 } catch(Exception e){
      System.out.print("ERROR "+e);

 }

   }

你需要的是使用线程和 jlayer.jar 和 mp3plugin.jar 加上 jaudiotagger.jar 然后你可以播放 mp3 文件作为你的背景音乐

于 2013-04-29T17:20:53.760 回答
2

我有另一种在后台播放音频文件的方法,但这种方法是为了轻松播放 .wav 声音,你可以看看一个想法,进一步你可以使用更好的线程来获得出色的背景播放性能

 private void playAudioForMenuDropDown(){
    String gongFile = "E://Net Beans Work Space//My Computing Fellow//src    //computingsounds//menu drop down.wav";
        InputStream in = null;
    try {
        in = new FileInputStream(gongFile);
    } catch (FileNotFoundException ex) {
        Logger.getLogger(ComputingFellowJobs.class.getName()).log(Level.SEVERE, null, ex);
    }

        // create an audiostream from the inputstream
        AudioStream audioStream = null;
    try {
        audioStream = new AudioStream(in);
    } catch (IOException ex) {
        Logger.getLogger(ComputingFellowJobs.class.getName()).log(Level.SEVERE, null, ex);
    }

        // play the audio clip with the audioplayer class
        AudioPlayer.player.start(audioStream);
}
于 2013-04-29T17:25:44.067 回答