iOS 6上的RemoteIO和录制AAC

时间:2012-10-31 19:34:19

标签: iphone ios6 core-audio audio-recording remoteio

是否有人使用RemoteIO在iOS 6上录制AAC音频?我注意到,当我这样做时,它会在中断时杀死媒体服务器,并且在iOS 6.0上永远不会调用我的中断回调。

此外,由于媒体服务器出现故障,因此恢复有点困难。

是否有其他人看到这个或在其周围工作过?

2 个答案:

答案 0 :(得分:0)

问题解决了。使用软件编解码器:

// specify codec
UInt32 codec    = kAppleSoftwareAudioCodecManufacturer;
int codecSize   = sizeof(codec);
status          = ExtAudioFileSetProperty(recorderState.audioFile,
                                          kExtAudioFileProperty_CodecManufacturer,
                                          codecSize,
                                          &codec);

在我使用kAppleHardwareAudioCodecManufacturer之前......显然硬件编解码器无法处理中断。希望其他人觉得这很有用!

答案 1 :(得分:0)

我遇到了类似的问题。我正在尝试使用remoteio录制AAC音频,几乎与您在此处描述的原因相同:

http://lists.apple.com/archives/coreaudio-api/2012/Oct/msg00135.html

我当前的问题甚至没有中断。如果我处理了我的音频设备并将我的音频会话设置为在移动到后台时处于非活动状态,当我在应用重新加载时尝试重新激活我的会话时,仍然会导致媒体服务器被杀死。

我的基本流程就是这样: - 设置用于录制的活动音频会话 - 设置一个音频单元&并准备用户按下“记录”按钮 - 用户背景应用程序,为了拆除我处理我的音频单元和停用我的会话的一切,但我不清理我的extaudiofile此时 - 我打开语音备忘录,然后立即关闭它 - 重新打开我的应用程序并点击记录。 - 当我尝试将会话设置为活动时,mediaserverd会死亡。切换到软件编解码器并没有解决它!

如果你对这种疯狂有所了解,我很乐意听到你的想法。

感谢。