使用AVAudioEngine,AVAudioSession setCategory AVAudioSessionCategoryRecord记录和重新采样到aac格式?

时间:2016-07-29 16:27:11

标签: record avaudiosession aac resampling avaudioengine

我已经找到了使用AVAudioEngine& amp;成功输出sampleRate 22050 aac格式audioFile。

在我查看代码之后,有一个问题是我必须使用setCategory AVAudioSessionCategoryPlayAndRecord而不是AVAudioSessionCategoryRecord。

  

如何改进使用“AVAudioSessionCategoryRecord”的代码   “PlayAndRecord”?

(在这种情况下我应该使用“AVAudioSessionCategoryRecord”,对吧?)

如果我将setCategory设置为AVAudioSessionCategoryRecord,我会收到错误:

  

AVAudioEngineGraph.mm:1070:初始化:必需条件为false:   IsFormatSampleRateAndChannelCountValid(outputHWFormat)

     

由于未捕获的异常而终止应用   'com.apple.coreaudio.avfaudio',原因:'所需条件为假:   IsFormatSampleRateAndChannelCountValid(outputHWFormat)'

有一个关于在AVAudioSessionCategoryRecord中使用麦克风的例子,在我看来,我们只能用inputNode进行记录。 https://developer.apple.com/library/prerelease/content/samplecode/SpeakToMe/Introduction/Intro.html

以下代码现在可以正常工作。

相关链接

How can I specify the format of AVAudioEngine Mic-Input?

Recording audio file using AVAudioEngine

1 个答案:

答案 0 :(得分:0)

AVAudioMixerNode无法在非压缩格式和压缩格式之间进行转换。为此,您需要AVAudioConverter