我正在设计一个简单的多轨录音机的概念验证。
显然的起点是从文件A.caf播放到耳机,同时将麦克风输入录制到文件B.caf中。
这个问题--同时录制和播放音频--指出了我可以在三个级别上工作:
- AVFoundation API(AVAudioPlayer + AVAudioRecorder)
- 音频队列API
- 音频单元API(RemoteIO)
哪个级别最好?显然,通用答案是在完成任务的最高级别上工作,也就是AVFoundation。
但是我接手这项工作是因为某人由于延迟问题而放弃了(他在文件之间得到了0.3秒的延迟),所以也许我需要在较低的级别上工作以避免这些问题?
此外,有哪些源代码可供启动?我一直在看SpeakHere示例(http://developer.apple.com/library/ios/#samplecode/SpeakHere/Introduction/Intro.html)。如果找不到更简单的东西,我将使用此代码。
但是,有没有人能推荐一些更简单/其他的东西?如果可以避免C++代码,我宁愿不使用。
是否有人知道一些使用AVFoundation完成此操作的公共代码?
编辑:AVFoundation示例在此处:http://www.iphoneam.com/blog/index.php?title=using-the-iphone-to-record-audio-a-guide&more=1&c=1&tb=1&pb=1
编辑(2):这里有一个外观更好的教程:使用AV Foundation框架创建基本的iPhone音频播放器