我正在为多轨录音机设计一个简单的概念证明。
明显的起点是从文件 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):这里看起来更好看:http ://www.switchonthecode.com/tutorials/create-a-basic-iphone-audio-player-with-av-foundation-framework