首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >录音中断iOS 6错误

录音中断iOS 6错误
EN

Stack Overflow用户
提问于 2012-10-20 06:04:19
回答 1查看 2.2K关注 0票数 8

苹果的演示项目aurioTouch2演示了我在录音模式下处理音频中断时遇到的同样的iOS-6问题。

这种情况非常具体。在音频记录模式下,进行电话呼叫,然后被应答(拒绝呼叫并不会导致错误)。然后,挂断后,应用程序返回焦点,无法继续录制。

错误信息是: AUIOClient_StartIO失败(2003329396)这个错误代码可以帮助翻译单词“什么”。

aurioTouch2项目是对iOS-5的更新,但不适用于iOS-6。对于我的应用程序来说,这似乎是一个相当重要的错误,因为这款设备是一款“手机”。

没有运气,我试过每一种合理的变体。有谁遇到过同样的问题吗?非常感谢。

编辑:,这是为我修复它的代码。修正在注释中被注意到。不太优雅,但现在我要任何东西。

此方法在应用程序返回到活动状态后的某个时候被调用。我让中断端触发器设置了一个标志,然后当事情再次活跃时,我检查这个标志,然后在这里调用这个方法。

代码语言:javascript
运行
复制
-(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);
}
EN

回答 1

Stack Overflow用户

发布于 2012-11-27 10:59:44

我遇到了同样的问题,并找到了解决办法。

使用核心电话框架检测来电,我“不体面地”停止录音,关闭文件,而不触及音频队列。然后,当应用程序恢复时,我会在暂停状态下显示录音,然后用户就可以继续录制了。同时,我重新启动了所有核心音频队列。

如果您正在使用ARC,请小心使用callEventHandler of CTCallCenter。它没有正确发布,所以请记住将其设置为nil

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12985751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档