Android 4中声音的不同行为

我有一个游戏,其中为游戏中得分的每个点制作“叮”声.有时您可以快速连续得分.在这种情况下,我不允许重叠声音,所以我等待媒体播放器的isPlaying()函数在播放下一个声音之前变为false.

在我迄今为止尝试过的每部手机上(无论是2.2还是2.3),结果都是令人愉悦的快速连续声音.

但刚才我尝试过三星galaxy S II 4.0.3.在这台机器上,每个“ding”由一个长间隙隔开. isPlaying()状态似乎比声音本身长两倍.根据Audacity,声音应该持续大约0.1秒,但isPlaying()仍然是.28秒.

声音从Audacity保存为Ogg Vorbis格式.

知道出了什么问题吗?

最佳答案 最好使用
SoundPool在游戏中播放快速采样样本,因为它们一次未压缩并保存在内存中. MediaPlayer可能在运行中进行解码,在准备就绪时会导致延迟.不知道为什么设备之间存在这样的差异,但我会试试SoundPool,看看它是否有所改进.

点赞