1

我正在尝试播放一个非常小的音频文件——它的长度大约为 0.05 秒,它是一个未压缩的 .wav 文件。

现在,我正在使用AVAudioPlayer播放声音。

我打算在微调器旁边快速播放声音,例如 The Price Is Right 或 Wheel of Fortune。如果我用 100 的循环计数来实例化AVAudioPlayer,它确实会像我期望的那样快速地播放声音。

但是,如果我[audioPlayer play]在微调器的每个“滴答声”上执行,音频就会严重落后。我的猜测是,与设置高循环计数不同,[audioPlayer play]每次播放都需要完整设置和拆卸音频剪辑的内存。

有没有办法强制剪辑在内存中保持设置更长的时间?这是一个非常频繁的声音,因此在整个应用程序运行期间保持它也可以。

4

1 回答 1

0

如果您依赖更精确的计时,您可能想尝试使用其他声音 API 之一。Audio Unit RemoteIO 很复杂,但可以最精确地播放未压缩的声音。OpenAL 和音频队列是另外两个选项。

于 2010-09-17T16:47:42.287 回答