2015-10-03 35 views
1

我正在开发需要在播放音乐时录制音频的应用程序。 我可以用音乐成功录制声音。但我无法从音乐中删除声音。如果我能在声音升高的时候降低声音,这也会很棒。如何使用AVAudioSession从音乐中删除/音量降低

我在播放音乐时使用AVAudioSession,AVAudioPlayerNode进行录制。

任何帮助将得到批准。

回答

0

在WWDC14会议#502“AVAudioEngine实践”中,您可以找到如何为卡拉OK配置AVAudioEngine,这对您的任务很有用,同时您还可以找到有关节点点击的信息。节点点击可以捕获任何AVAudioNode的输出。

所以,你可以加点自来水为您AVAudioInputNode并记录所有你需要:

AVAudioInputNode *node = [engine inputNode];  
// add tap 
[node installTapOnBus:0 bufferSize:4096 format[node outputFormatForBus:0] block:^(AVAudioPCMBuffer *buffer, AVAudioTime *when) { 
    // save audio buffer 
}]; 
+0

谢谢回答。我尝试按照您的建议配置引擎。 –