【问题标题】:My background loop music doesn't "loop" good我的背景循环音乐不“循环”好
【发布时间】:2012-12-29 20:06:43
【问题描述】:

我有一个背景音乐循环。但它循环不好,每次循环结束时都会有半秒没有音乐。 mp3 文件是完美的,没有音乐就没有一秒钟。 是 MediaPlayer 的错吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    从 Jellybean (Android 4.1) 开始,您可以对 MediaPlayers 进行“链接”。在当前播放的MediaPlayer结束前,拨打setNextMediaPlayer,下一个MediaPlayer会在当前播放结束后尽快自动启动,避免出现间隙。

    请注意,您不能将当前播放的 MediaPlayer 实例设置为下一个。因此,为了使用它来循环播放歌曲,您必须创建 2 个具有相同数据源的 MediaPlayer 实例并在它们之间交替。

    【讨论】:

      【解决方案2】:

      SoundPool 在这方面做得更好。

      SoundPool 是可以加载到内存中的样本集合 来自 APK 内的资源或来自文件系统中的文件。这 SoundPool 库使用 MediaPlayer 服务来解码音频 成原始的 16 位 PCM 单声道或立体声流。这允许应用程序 传送压缩流而不必承受 CPU 负载 以及播放过程中的解压延迟。

      请记住,这可能会占用大量内存,具体取决于您的音乐文件的长度。

      【讨论】:

        猜你喜欢
        • 2011-04-07
        • 1970-01-01
        • 2020-07-06
        • 1970-01-01
        • 1970-01-01
        • 2013-04-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多