带有 Core Audio AudioQueue 的 AVFoundation 会话

Posted

技术标签:

【中文标题】带有 Core Audio AudioQueue 的 AVFoundation 会话【英文标题】:AVFoundation Session with Core Audio AudioQueue 【发布时间】:2015-01-21 03:27:38 【问题描述】:

正在开发音频视频处理应用程序。按照 RosyWriter 示例使用 AV Foundation 和 OpenGL 获得工作的视频处理器。问题是没有音频预览,即实时音频播放......(是的,这会导致反馈)!

RosyWriterCapturePipeline.m 下的captureOutput 方法中,将音频样本缓冲区发送到Core Audio AudioQueue 进行播放。 AudioQueue 正在工作,但音频数据停止进入captureOutput 方法。

发生了什么事? Core Audio 会不会干扰 AV Foundation?还是更有可能处理音频捕获的调度队列被堵塞?什么是测试和纠正这个的好方法?

AVCaptureSessionRuntimeErrorNotification 没有提供任何音频捕获失败的指示。

代码:https://github.com/hpp/Penny/blob/master/Penny/PennyAudioManager.m

【问题讨论】:

【参考方案1】:

ios 开发者库"sample code"中有一个如何使用 AVFoundation AVCaptureAudioDataOutput 和 AudioUnits 的示例

【讨论】:

以上是关于带有 Core Audio AudioQueue 的 AVFoundation 会话的主要内容,如果未能解决你的问题,请参考以下文章

AudioQueue PropertyListener IsRunning 只回调一次

Audio Queue Interface可以处理40ms Audio Frame吗?

AVAssetReader 和 Audio Queue 流问题

如何在不冻结 GUI 的情况下让 AudioQueue 播放?

SpeakHere 的 AudioQueue 代码在 iPad 上失败

将 RtAudio 与 Core-Audio 一起使用,probeDeviceOpen 函数失败