我在 Android Market 上有一个应用程序,并且一直在使用 SoundPool 类来制作音效。我注意到,在 Android API 的所有部分中,这似乎给我带来了最多的问题。例如:
HTC Desire 在播放 WAV 文件时出现问题(这会导致它随机锁定)。使用 .ogg 文件可以解决这个问题
在 Droid 上,如果您超过了 init setup 调用中的通道数:
mSoundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);
手机会锁定。如果你能想象调试的难度那!在我不拥有的手机上。这需要我的客户提供很多无私的帮助。将“4”更改为“16”消除了该问题。我毫不怀疑,如果同时播放 16 个声音,它仍然会崩溃。值得庆幸的是,这种可能性很小。
- 还会在各种设备上随机崩溃。我从我的一位客户那里得到了一份目录,其中包含与播放声音有关的“堆溢出”错误。
我现在已将声音管理器更改为使用 MediaPlayer。目前这似乎效果很好。我只是想知道是否有其他开发人员遇到这些问题?