Android 4中声音的不同行为

时间:2012-05-30 15:41:04

标签: android ogg

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

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

但刚才我尝试过使用4.0.3的三星Galaxy S II。在这台机器上,每个“ding”由一个长间隙隔开。 isPlaying()状态似乎比声音本身长两倍。根据{{​​3}},声音应该持续大约0.1秒,但isPlaying()保持真实.28秒。

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

知道出了什么问题吗?

1 个答案:

答案 0 :(得分:2)

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