当前位置: 首页 > 面试题库 >

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

空佐
2023-03-14
问题内容

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

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似乎对您的情况不是很有帮助,但除了将其夹到其他库外,它是您可以做的最好的事情。



 类似资料:
  • 我制作了android应用程序,并将android studio连接到Firebase。我检索了音频,并按下播放和暂停按钮,播放按钮工作,但暂停功能不工作。如果我按下暂停按钮,则按钮播放双音频意味着覆盖的功能是工作,我的代码是:

  • 问题内容: 谁能帮助我如何使用Selenium自动播放/暂停网页上显示的视频。 提前致谢… 问题答案: 这在很大程度上取决于浏览器和处理视频的播放器。您很有可能需要使用JavaScript执行程序。 我昨晚与一位朋友讨论了这个问题,他提出了以下示例,该示例使用了Webdriver的Python变体,用于html5demos.com的演示视频: 您也可以在使用“播放”的地方“暂停”。 这里有一个更大

  • null 关键是我使用jLayer的实现不起作用:当我执行play-pause-resume时,音频被暂停,但随后从文件中的随机点恢复。 我该怎么修好它?

  • 当我使用MediaPlayer播放mp3文件时,系统会报告错误日志:。但是RealPlayer是正常的。 我发现它的错误只发生在更高的ROM版本。像4.0版本一样,它有错误。在2.3版中,它没有这个错误。 代码: 日志猫错误:

  • 我试图实现一个播放/暂停按钮,用于连接到ARKit场景中节点的位置音频。我希望用户能够暂停音频,然后在以后的时间从暂停点恢复它。因此不好,因为这会在重新连接音频时将其重置到起始位置。 我能找到的唯一与SCNAudioPlayers相关联的暂停方法深藏在下面: 有人知道这能不能做到吗? 提前谢了。

  • ap.pauseBackgroundAudio(CALLBACK) 暂停播放音乐。 代码示例 <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> <style>.output{ display:block; max-width: 100%