在AVAudioRecorder之前播放音效

时间:2012-09-11 06:35:10

标签: ios core-audio nsthread avaudiorecorder

我正在使用AVAudioRecorder录制音频。但是我希望在录制开始之前播放一个简短的声音。我正在使用AudioServicesCreatSystemSoundId执行此操作。我注意到我需要在调用声音效果后暂停线程,否则它将开始播放,然后被AVAudioRecord record调用打断,然后在再次停止录制后完成播放。 / p>

所以我有这样的事情:

AudioServicesCreateSystemSoundID((__bridge CFURLRef) pathURL, &audioEffect);
AudioServicesPlaySystemSound(audioEffect);
[NSThread sleepForTimeInterval:0.7];
[_audioRecorder record];

问题在于注意到延迟。我知道有些应用程序(如Voxer)可以在不延迟实际录制的情况下发出声音。我尝试在一个区块中分割前两行,但这没有帮助。他们是怎么做到的?

由于

1 个答案:

答案 0 :(得分:0)

对于低延迟(无明显的启动延迟)音频录制,请使用预启动的RemoteIO音频单元而不是AVAudioRecorder API。