我创建了一个节拍器类型的应用程序,在钟摆上指定的摆动间隔为 750 毫秒,并以最大摆动弧度播放单个音频文件……重复摆动钟摆并无限期地播放声音。但是,我发现代码执行的实际时间因设备而异,甚至在单个设备上执行时也存在差异。我的意图是以每分钟 80 次的速度摆动钟摆,并用每个“节拍”播放音频文件。我调整了 750 毫秒设置以适应播放音频文件所需的时间。这将毫秒设置从 750 略微降低到大约 680。
我正在使用 Android SoundPool 访问 .wav 文件来播放声音。
我发现了很多关于 Soundpool 计时问题和顾虑的参考资料,但还没有找到一个可行且可靠的解决方案来为这样的应用程序提供一致的计时。
根据指定的延迟,钟摆的摆动似乎非常一致,所以我相信这种变化是由于在执行播放音频的 SoundPool 代码期间的可变时序造成的。是否有可靠的方法来执行代码以在 Android 上以一致且“准确”的时间间隔播放声音?