【问题标题】:Audio Graph render callback stops being called after audio session interruption音频会话中断后停止调用音频图渲染回调
【发布时间】:2012-06-09 20:31:35
【问题描述】:

我在 iOS 上使用音频单元处理图服务来创建一个小的音频单元图来输出音频。我设置了一个渲染回调,并在回调被调用时将音频数据输入到图表中。

在我的音频会话被中断(例如,被电话或闹钟中断)之前,这可以正常工作;此时回调停止,并且不再被调用,即使在中断结束后也是如此。

我尝试在图表上再次调用 AUGraphStart(),但这似乎没有帮助。有什么想法吗?

【问题讨论】:

    标签: ios core-audio audiounit audiosession


    【解决方案1】:

    事实证明,您需要在中断回调中使用 AUGraphStop() 显式停止图形;否则对 AUGraphStart() 的调用将不起作用。

    【讨论】:

    • 我们应该调用哪个中断回调?我相信我正在调用它,但 AUGraphStart 仍然无法正常工作。
    • 您的意思是您的图表永远不会启动,还是只是在中断后没有重新启动?
    • 它没有重新启动,但我想我修复了它。我有多个调用来启动每个启停周期,因此我更改了所有代码以确保每个启停周期只启动一次并停止一次。
    • 是的,这是另一个棘手的细节......似乎需要平衡对 AUGraphStart 和 AUGraphStart 的多次调用。所以如果你调用 stop 两次,你需要调用 start 两次,等等。
    猜你喜欢
    • 1970-01-01
    • 2012-10-09
    • 2012-10-07
    • 2013-09-19
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多