如何使用JavaZOOM JLayer库播放/暂停mp3文件?

如何在以下代码中添加“播放/暂停”按钮?

import javazoom.jl.player.Player;

try{

FileInputStream fis = new FileInputStream("mysong.mp3");

Player playMP3 = new Player(fis);

playMP3.play();

}

catch(Exception exc){

exc.printStackTrace();

System.out.println("Failed to play the file.");

}

回答:

您需要使用AdvancedPlayer该类而不是just类Player,因为更简单的类不能真正开始在中间播放文件。

您需要添加一个PlaybackListener并监听该stop()方法。然后,您可以从停下来的那一刻起重新开始。

private int pausedOnFrame = 0;

AdvancedPlayer player = new AdvancedPlayer(fis);

player.setPlayBackListener(new PlaybackListener() {

@Override

public void playbackFinished(PlaybackEvent event) {

pausedOnFrame = event.getFrame();

}

});

player.play();

// or player.play(pausedOnFrame, Integer.MAX_VALUE);

这将记住播放的帧已暂停(如果已暂停)。

现在,在暂停后再次按Play键时,您将检查文件pausedOnFrame中的数字是否介于0和帧数之间,然后调用play(int begin, int

end)

请注意,在执行此操作之前,您应该知道文件中的帧数。如果没有,您可以尝试通过以下技巧播放所有帧:

player.play(pausedOnFrame, Integer.MAX_VALUE);

话虽如此,该API似乎对您的情况不是很有帮助,但除了将其夹到其他库外,它是您可以做的最好的事情。

以上是 如何使用JavaZOOM JLayer库播放/暂停mp3文件? 的全部内容, 来源链接: utcz.com/qa/425587.html

回到顶部