我正在尝试播放一个非常小的音频文件--它的长度大约是0.05秒,而且是一个未压缩的.wav文件。
现在,我正在使用AVAudioPlayer
播放声音。
我打算在旋转器旁以高速度播放声音,就像“价格是对的”或“幸运之轮”。如果我用循环计数100实例化AVAudioPlayer
,它确实会像我预期的那样非常快地播放声音。
然而,如果我在微调器的每个“滴答声”上执行[audioPlayer play]
,音频就会远远落后。我的猜测是,与设置高循环次数不同,[audioPlayer play]
在每次播放时都需要完全设置和删除音频剪辑的内存。
有没有办法强制剪辑在内存中保留更长的时间?这是一个非常频繁的声音,因此在整个应用程序运行过程中保持它也是可以的。
发布于 2010-09-18 00:47:42
如果您依赖于更精确的计时,您可能希望尝试使用其他声音API之一。音频单元RemoteIO是复杂的,但允许最精确的时间播放未压缩的声音。OpenAL和音频队列是另外两个选项。
https://stackoverflow.com/questions/3736063
复制相似问题