【发布时间】:2013-10-01 08:49:01
【问题描述】:
我正在使用 Android 开发游戏,但遇到了一个非常烦人且难以发现的错误。问题是当您使用SoundPool 播放声音时,您实际上可以循环播放您正在播放的任何声音。在这种情况下,问题是“运行步骤”的声音;当主角运行时,这个声音会非常快速且持续地执行(大约每个400ms)。
现在在常规(不是那么强大)设备上播放声音时,例如三星 SII,每隔500ms 播放一次声音 - 但是,如果我在另一台设备(比如三星 SIV、三星 SIII)上运行相同的代码,声音播放速度会快两倍甚至三倍。
似乎设备硬件规格越强大,播放速度就越快。在某些设备上,它的播放速度非常快,您几乎可以听到一种连续的声音。我一直在寻找在声音播放之间设置特定比例的技术,但它不能正常工作并且问题仍然存在。有谁知道如何修复它,或者使用SoundPool、MediaPlayer 或 Android 上的任何其他声音控制 API?
【问题讨论】:
-
您找到解决方案了吗?如果是,请分享!
-
还没找呢,如果你+1这个问题也许更多人会关注它...
-
我不能多次投票
-
你可以在一个runnable里面放一个非循环的声音,并设置runnable在一个特定的时间间隔运行。这篇文章解释一下:blog.nelsondev.net/?p=207
-
一种肮脏的方法是让你的声音变长(添加填充)然后循环播放