首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AVAudioEngine准备过程中的错误

AVAudioEngine准备过程中的错误
EN

Stack Overflow用户
提问于 2017-11-23 14:09:21
回答 2查看 912关注 0票数 0

我是AVAudioEngine的新手。我的任务很简单:我想从麦克风获得声音,改变音高,保存到文件或播放结果。

代码语言:javascript
运行
复制
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: required条件为false: false == isInputConnToConverter

有人能帮忙吗?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2017-11-24 09:06:43

我找到了解决办法:与其将inputNode连接到节点上,不如安装点击,然后在回调块中使用AVAudioPlayerNode来播放缓冲区

票数 1
EN

Stack Overflow用户

发布于 2017-11-30 14:27:02

AVAudioUnitTimePitch(AVAudioUnitTimeEffect)不支持实时音频。您应该保存原始音频数据,并使用另一个引擎与AVAudioUnitTimePitch进行播放。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47457438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档