ios6 – 音频录制中断iOS 6错误

ios6 – 音频录制中断iOS 6错误,第1张

概述Apple的演示项目aurioTouch2演示了在录制模式下处理音频中断时遇到的iOS-6问题. 该场景非常具体.当处于录音模式时,进行电话呼叫,然后应答(拒绝呼叫不会导致错误).然后,挂断后,应用程序返回焦点,无法继续录制. 错误消息是:AUIOClient_StartIO失败(2003329396) 此错误代码有助于翻译“what”一词. aurioTouch2项目是iOS-5的更新,但不适用 Apple的演示项目auriotouch2演示了在录制模式下处理音频中断时遇到的iOS-6问题.

该场景非常具体.当处于录音模式时,进行电话呼叫,然后应答(拒绝呼叫不会导致错误).然后,挂断后,应用程序返回焦点,无法继续录制.

错误消息是:AUIOClIEnt_StartIO失败(2003329396)
此错误代码有助于翻译“what”一词.

auriotouch2项目是iOS-5的更新,但不适用于iOS-6.对于我的应用来说,这似乎是一个相当严重的错误,因为该设备是“手机”.

我没有运气就尝试过每一个明智的变化.有人遇到过同样的问题吗?
非常感谢.

编辑:这是为我修复它的代码.修复程序在注释中注明.不完全优雅,但我会在这一点上采取任何措施.

在应用程序返回活动状态后的某个时刻调用此方法.我有中断结束触发器设置一个标志,然后当事情再次活着时,我检查标志然后在这里调用此方法.

-(voID) handleEndInterruption {    // reset audio session    UInt32 category = kAudioSessioncategory_PlayAndRecord;    AudioSessionSetProperty ( kAudioSessionProperty_Audiocategory,sizeof (category),&category );    // Reactivate the current audio session    AudioSessionSetActive(YES);    // Do this,and fail with: AUIOClIEnt_StartIO Failed (2003329396)    [self createAUProcessingGraph];    [self initializeAndStartProcessingGraph];    // Do it a second time and it works    AudioSessionSetActive(NO);    AudioSessionSetActive(YES);    [self createAUProcessingGraph];    [self initializeAndStartProcessingGraph];    // Restore open al context    alcMakeContextCurrent([Audiodispatcher sharedInstance].audioContext);    // 'unpause' my context    alcProcessContext([Audiodispatcher sharedInstance].audioContext);}
解决方法 我遇到了同样的问题并找到了解决方案.

使用核心电话框架来检测来电,我通过关闭文件“不合理地”停止录制,而不触及音频队列.然后,当应用程序恢复时,我显示处于暂停状态的录制,然后用户可以恢复录制.与此同时,我重新启动了所有核心音频队列.

如果您正在使用ARC,请注意CTCallCenter的callEventHandler.它没有正确发布,所以记得把它设置为零.

总结

以上是内存溢出为你收集整理的ios6 – 音频录制中断iOS 6错误全部内容,希望文章能够帮你解决ios6 – 音频录制中断iOS 6错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1102812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存