我正在开发一个在iOS中处理音频队列服务级别声音的应用程序。
上下文: 我有一个音频队列已经启动并且播放正常。我有几个缓冲区排队等待连续播放。
需要:
我需要立即取消播放并将缓冲区出列(下一个播放的声音会有所不同)。我无法使用AudioQueueStop
,因为我仍需要AudioQueue
即可获得更多音频播放内容。
所以我使用了AudioQueueReset
。我的输出回调被正确调用,并返回所有缓冲区。
但是当我尝试使用AudioQueueEnqueueBuffer
重用这些缓冲区时,我得到的OSStatus
为50,这意味着该参数无效。
tl; dr: AudioQueueReset
只返回准备好使用的缓冲区,还是释放它们,我必须重新分配新的缓冲区?
答案 0 :(得分:0)
它只返回它们。缓冲区已准备就绪,无法释放。