我正在使用诺沃卡因进行频率检测--它工作得很好。我非常欣赏Novocaine框架,因为它的性能很好用。
无论如何,只有一个问题:从iPhone/iPad麦克风捕获声音,我想禁用扬声器输出,以防止声音反馈(噪声)。我该怎么做呢?到目前为止,我一直在尝试更改音频输出路径,但都是徒劳的。任何想法都是非常感谢的!
当然,我发现独立于Novocaine框架我可以禁用硬件声音-但当我这样做时,用户会得到一种工具提示(“声音禁用”),这可能会让用户感到恼火。我更喜欢在用户点击“捕获声音”按钮时暂时禁用声音,而不去注意它。
发布于 2015-04-13 00:01:22
这个解决方案是微不足道的,我几乎是偶然发现的:
在输出块中
[audioManager setOutputBlock:^(float *data, UInt32 numFrames, UInt32 numChannels)
{ ... }我只需将输出数据设置为零-在分析完数据(使用FFT或卷积或交叉相关或其他方法)后:
// silence the sound in order to disable sound feedback
for(int i=0; i<numFrames; i++) {
data[i] = 0.0;
}就这样!
https://stackoverflow.com/questions/29578675
复制相似问题