如何使用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