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

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

我打算与旋转器一起播放声音,价格合适或命运之轮。如果我实例化 AVAudioPlayer 循环计数为100,它确实确实像我期望的那样迅速播放声音。

如果我执行 [audioPlayer play] 但是,在旋转器的每个“ tick”上,音频落后了。我的猜测是,与设置高循环计数不同, [audioPlayer play] 需要为每个播放的音频剪辑的内存进行完整的设置和拆除。

是否有任何方法可以迫使夹子在内存中保持更长的持续时间?这是一个非常频繁的声音,因此,在整个应用程序运行期间保持它也可以。

有帮助吗?

解决方案

如果您依靠更精确的时机,则可能需要尝试使用其他声音API之一。 Audio Unit Remotio很复杂,但允许播放未压缩声音的最精确时机。开放式和音频队列是另外两个选项。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top