我试图在我的应用程序被唤醒但不在前台时(比如在重大位置更改期间),启动kAudioSessionCategory_RecordAudio
,我已经看到了商店中的其他应用程序这样做,所以我知道这是可能的。然而,每当我尝试像这样启动音频会话
CheckError(AudioQueueStart(queue,
NULL),
"AudioQueueStart failed");
我会得到这个错误:
Error: AudioQueueStart failed (-12985)
所以我查阅了相关资料,但唯一的建议是将音频会话设置为活动状态AudioSessionSetActive(YES)
,但这也失败了,并显示一个'!cat'
错误。显然,您可以尝试切换音频会话的活动状态,但这对我没有起作用。
我已经设置了音频后台模式Plist标志,并且在我的应用程序处于前台时启动音频会话,然后切换到另一个应用程序是可以工作的(显示它正在录制的红色条)。只是在应用程序不在前台时启动音频会话是个问题。
有没有人有一个演示在后台启动录音音频会话的示例项目?
注意:我正在寻找使用音频队列的解决方案,因为我需要将音频存储在缓冲区中,而不是文件中。