P i*_*P i 14 audio record simultaneous playback ios
我正在为多轨录音机设计一个简单的概念证明.
明显的出发点是从文件A.caf播放到耳机,同时将麦克风输入录制到文件B.caf中
这个问题 - 同时录制和播放音频 - 指出我可以在三个级别工作:
工作的最佳水平是什么?显然,通用答案是在完成工作的最高级别工作,这将是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
正如Viraj所说,这是答案.
是的,使用AVFoundation可以获得非常好的效果.首先,您需要注意这样一个事实:对于播放器和录像机,激活它们是一个两步过程.
首先你准备它.
然后你玩它.
所以,一切都好.然后玩一切.
这将使您的延迟降至约70毫秒.我通过录制节拍器嘀嗒声进行测试,然后通过扬声器播放,同时将iPhone连接到扬声器并同时录制.
第二次录音有一个清晰的回声,我发现它是~70ms.我本可以分析Audacity中的信号来获得精确的偏移量.
因此,为了排列所有内容,我只需执行Selector:x withObject:y afterDelay:70.0/1000.0
可能存在隐藏的障碍,例如延迟可能因设备而异.它甚至可能因设备活动而异.甚至可能在启动播放器和启动录音机之间线程被中断/重新安排.
但它可以工作,并且比使用音频队列/单元更加整洁.
| 归档时间: |
|
| 查看次数: |
17709 次 |
| 最近记录: |