【问题标题】:pausing mp3 in java在java中暂停mp3
【发布时间】:2011-08-06 13:49:54
【问题描述】:

我目前正在做一个需要播放背景 mp3 声音的项目。我设法使用 Jlayer 库和找到的一段代码来做到这一点 here

但是,我需要在此代码中添加更多功能,例如循环播放和暂停。
循环功能很容易实现,但我花了几个小时寻找暂停和恢复 mp3 文件的方法。

我的猜测是在 Player 类中使用 play(int frames) 方法,使用 getPosition() 方法和 mp3 总帧数,但我无法获得总帧数。

有什么线索吗?我只需要这个暂停/恢复方法,所以如果您知道与此不同的一种方式,请随时发布

我也一直在尝试使用 BasicPlayer 库(链接 here),但我在尝试读取任何 mp3 文件时总是得到 javax.sound.sampled.UnsupportedAudioFileException

【问题讨论】:

    标签: java audio mp3 javasound jlayer


    【解决方案1】:

    默认播放器实现无法做到这一点。

    您需要实现流类并读取那些 DataSourceLine 类的数据。 这有点辛苦,但这是可能的。我是 2 年前做的,如果我找到了我的代码,我会把它发布给你。

    【讨论】:

    • 好的,谢谢您的信息!您知道使用 ogg 文件和 JOrbis 库是否更容易做到这一点?如果你找到你的旧代码,我会很高兴阅读它
    • 该作品不是 MP3 或 OGG 特定的,您可以编写一个播放器来播放任何文件。此外,您可以查看 JavaZOOM 上可用的开源播放器中的代码。 PS:如果我的回答有用,请投票。这就是 StackOverflow 的工作原理。
    • 我检查了开源播放器,但我最终只得到了异常。不过我会挖出来的。关于投票,我不能,因为我的声誉太低了
    • 有点辛苦,但是制作播放器的代码已经有了。
    【解决方案2】:

    标准 Java 声音提供问题中所述的所有功能。要将 MP3(解码)支持添加到 Java Sound,请将(JMF 的)mp3plugin.jar 添加到应用程序的运行时类路径中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多