[A]如何在javafx中重复播放MP3?

时间:2014-05-06 15:06:19

标签: javafx

我希望我的mp3文件在完成后再次重复。但我无法创建循环来重复播放我的文件 (我使用了这段代码,但只有在完成后才播放我文件的第一秒)

AudioClip myMusic ....   
myMusic.setCycleCount(AudioClip.INDEFINITE);
myMusic.play();

编辑: 我使用MediaPlayer,但它的循环计数器没有正常工作,例如我第一次播放我的mp3文件播放了2次,第3次播放突然停止 第二次我再次运行我的应用程序,它播放了一次,而第二次播放的一半停止了 这是我的代码:

URL resource = getClass().getResource("abcd.mp3");
     MediaPlayer a =new MediaPlayer(new Media(resource.toString()));
     a.setCycleCount(MediaPlayer.INDEFINITE);

 a.play();

任何想法?提前谢谢。

2 个答案:

答案 0 :(得分:8)

我找到了我的解决方案,我使用了setOnEndOfMedia方法:

 URL resource = getClass().getResource("abcd.mp3");
 MediaPlayer a =new MediaPlayer(new Media(resource.toString()));
 a.setOnEndOfMedia(new Runnable() {
       public void run() {
         a.seek(Duration.ZERO);
       }
   });
  a.play();

答案 1 :(得分:0)

为了避免突然停止,您必须:

a.setOnReady(new Runnable() {
        @Override
        public void run() {
            a.play();
        }
    });

对我有用。