录制audioiOS

如何使用iOS录制audio? 不是来自麦克风的input录音,但我希望能够捕捉/logging我的应用程序中当前播放的audio?

所以,例如,我开始录制会话,以及任何只在我的应用程序中播放的声音,我想将其logging到文件中?

我已经做了这方面的研究,但我混淆了什么使用,因为它看起来像混音audio框架可能会导致问题?

我只是想要能够捕捉和保存我的应用程序中的audio播放。

那么如果你只是想logging你的应用程序产生的audio,那么是的,这是非常有可能的。

不可能的是logging通过扬声器输出的所有audio。 (编辑:我只是想澄清,没有办法logging其他应用程序产生的audio输出,你只能logging你制作的audio样本)。

如果要录制应用程序的audio输出,则必须使用远程ioaudio单元(http://atastypixel.com/blog/using-remoteio-audio-unit/)。

您真正需要做的就是在填充播放缓冲区之后复制播放缓冲区。

EX)

memcpy(void *dest, ioData->mBuffers[0].mData, int amount_of_bytes); 

这是可能的包装核心audio公用程序文件CAAudioUnitOutputCapturer http://developer.apple.com/library/mac/#samplecode/CoreAudioUtilityClasses/Introduction/Intro.html

看到我在这个问题的包装类的答复。 正确使用Objective C ++

没有公开的API来捕获或loggingiOS应用程序的所有通用audio输出。

查看来自Apple的MixerHostAudio示例应用程序。 它是开始学习audio单元的好方法。 一旦你掌握了这一点,网上有很多教程讨论添加录音。