我是AVAudioEngine的新手。 我的任务非常简单:我希望从麦克风获取声音,改变它的音高并保存到文件或只是播放结果。
self.engine = [[AVAudioEngine alloc] init];
self.pitchNode = [[AVAudioUnitTimePitch alloc] init];
self.recordNode = self.engine.inputNode;
[self.engine attachNode:self.pitchNode];
AVAudioFormat *fmt = [self.recordNode inputFormatForBus:0];
[self.engine connect:self.recordNode to:self.pitchNode format:fmt];
[self.engine connect:self.pitchNode to:self.engine.mainMixerNode fromBus:0 toBus:1 format:fmt];
[self.engine connect:self.engine.mainMixerNode to:self.engine.outputNode format:fmt];
[self.engine prepare]; // at this line i got error message
错误:> avae> AVAudioEngineGraph.mm:685:InitializeActiveNodesInInputChain:必需条件为false:false == isInputConnToConverter
有人可以帮忙吗?感谢。
答案 0 :(得分:1)
我找到了解决方法:不是将inputNode连接到音高节点我只需安装它并在其中播放带有AVAudioPlayerNode的缓冲区的回调块
答案 1 :(得分:0)