我有一首歌使用 Android 在后台连续播放MediaPlayer
,我的意思是它永远循环播放。
我也有25-30
很短的声音,我使用SoundPool
Class 以离散的持续时间播放,而且它们还必须用主歌一次又一次地播放。
每个声音都是0.5
第二个持续时间,其中一些是0.7Mb
大小,而一首歌的平均大小约为0.4Mb
.
我能够在我制作这个应用程序的设备上顺利完成这整个事情,然后我才知道 SoundPool 在双核手机上播放有问题。所以我撤回了对他们的支持。
最近我在运行 2.3.3 的旧设备上测试了该应用程序,新问题是声音似乎在前 4-5 个周期内正常播放,即直到主歌播放 4-5 次,然后在第 6 次,有声音播放有明显延迟,我记录了 的值,SoundPool.play()
发现延迟约为(1-2 秒),而且这个问题只出现在低端手机上,为什么会发生这种情况,我想是问题造成的由SoundPool
类,根本不是硬件问题,因为我测试它的设备有足够的RAM
即500Mb
和体面的600Mhz
处理器。
我真的需要解决这个问题,因为我希望我的应用程序可以在大多数设备上运行,暂时除了双核手机。
此外,我不能使用 MediaPlayer 播放我的声音,因为我不想增加 CPU 开销并使我的应用程序滞后更多,而且我不知道我想提前播放多少声音。
任何有关如何解决此问题和减少滞后的线索,都非常受欢迎。