AudioQueueReset可以释放音频缓冲区,还是简单地返回它们?

时间:2014-01-13 16:11:16

标签: ios core-audio

我正在开发一个在iOS中处理音频队列服务级别声音的应用程序。

上下文: 我有一个音频队列已经启动并且播放正常。我有几个缓冲区排队等待连续播放。

需要: 我需要立即取消播放并将缓冲区出列(下一个播放的声音会有所不同)。我无法使用AudioQueueStop,因为我仍需要AudioQueue即可获得更多音频播放内容。

所以我使用了AudioQueueReset。我的输出回调被正确调用,并返回所有缓冲区。

但是当我尝试使用AudioQueueEnqueueBuffer重用这些缓冲区时,我得到的OSStatus为50,这意味着该参数无效。

tl; dr: AudioQueueReset只返回准备好使用的缓冲区,还是释放它们,我必须重新分配新的缓冲区?

1 个答案:

答案 0 :(得分:0)

它只返回它们。缓冲区已准备就绪,无法释放。