ios 音频单元 kAUVoiceIOProperty_DuckNonVoiceAudio 错误 -10879
Posted
技术标签:
【中文标题】ios 音频单元 kAUVoiceIOProperty_DuckNonVoiceAudio 错误 -10879【英文标题】:ios Audio Unit kAUVoiceIOProperty_DuckNonVoiceAudio error -10879 【发布时间】:2012-11-03 22:40:58 【问题描述】:我使用 Novocaine 框架https://github.com/alexbw/novocaine,如果我从麦克风暂停输入单元(但输出正在工作)然后再次播放,结果我得到回声。在苹果文档中,我看到了语音处理 I/O 音频单元属性 - kAUVoiceIOProperty_DuckNonVoiceAudio。我试试:
UInt32 zero = 0;
CheckError( AudioUnitSetProperty(inputUnit,
kAUVoiceIOProperty_DuckNonVoiceAudio,
kAudioUnitScope_Global,
kInputBus,
&zero,
sizeof(UInt32)), "ERROR");
在方法 setupAudio 结果我有
ERROR (-10879)
在文档中我没有找到描述。一般来说,如何在 ios 中为 audioUnits 实现回声消除?我认为问题可能不在此属性中(因为默认情况下它应该启用).. 我发现这篇很棒的文章 - http://atastypixel.com/blog/developing-loopy-part-2-implementation/ 作者说有关相关信号及其减法.. 对于这种情况,我认为我需要自适应滤波器,但如果可以在 iOS 上实现吗?
有什么想法吗?
提前致谢
【问题讨论】:
【参考方案1】:我找到了为什么会发生此错误的答案:在 Novocaine AudioComponentDescription init as:
inputDescription.componentSubType = kAudioUnitSubType_RemoteIO;
但在我的情况下是正确的:
inputDescription.componentSubType = kAudioUnitSubType_VoiceProcessingIO;
经过一些实验,我得出结论,在使用 kAudioUnitSubType_VoiceProcessingIO 后,回声禁用但不完全。可能是我没有正确使用它。
【讨论】:
以上是关于ios 音频单元 kAUVoiceIOProperty_DuckNonVoiceAudio 错误 -10879的主要内容,如果未能解决你的问题,请参考以下文章