【问题标题】:Background music length and speed背景音乐长度和速度
【发布时间】:2012-01-19 17:34:10
【问题描述】:

对于我的 Android 应用,我想要背景音乐。它不必跨越活动,因此服务无关紧要。

Soundpool 似乎在大约 6 秒后停止播放 .ogg 或 .mp3 MediaPlayer 无法更改音乐的速度(速率)

我想做的是允许用户在播放背景音乐时改变它的速度。 SoundPool 似乎可以做到这一点,但很难说,因为它只播放几秒钟。

关于如何做到这一点的任何建议?

【问题讨论】:

    标签: android media-player soundpool


    【解决方案1】:

    SoundPool 对于 wav 文件不好,对于 mp3 我没有问题...

        public final int play (int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate) 
    

    float rate - 值 0.5 表示半速播放,可以是 0.5-2.... 我认为您应该使用 SoundPool... 至于我,我很欣赏 Mediaplayer...

    【讨论】:

    • 您知道为什么文件可能会在 5-8 秒后停止播放吗?我尝试过 mp3 和 .ogg 文件。
    • 所以我想出了一个解决方案。只要音乐剪辑很短(大约 7 秒)并且可以循环播放,就可以使用 SoundPool。此时歌曲的速度可以改变。我仍然不确定如何为更长的音乐执行此操作,但此解决方案至少适用于小型游戏声音循环。
    • 是的,Soundpool 是为游戏中的短效果而设计的...在我的最后一个应用程序中,我使用一个媒体播放器播放所有 mp3,它们与 release() 和 stop() 相互作用...音乐 mp3 播放20-30 秒...也许你的 mp3 质量太高了?将它们的属性看成是一个单独的记录,并寻找 android UI 的机会......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多