首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >频率分析- Novocaine和通过麦克风播放:如何禁用扬声器输出?

频率分析- Novocaine和通过麦克风播放:如何禁用扬声器输出?
EN

Stack Overflow用户
提问于 2015-04-11 21:54:34
回答 1查看 226关注 0票数 1

我正在使用诺沃卡因进行频率检测--它工作得很好。我非常欣赏Novocaine框架,因为它的性能很好用。

无论如何,只有一个问题:从iPhone/iPad麦克风捕获声音,我想禁用扬声器输出,以防止声音反馈(噪声)。我该怎么做呢?到目前为止,我一直在尝试更改音频输出路径,但都是徒劳的。任何想法都是非常感谢的!

当然,我发现独立于Novocaine框架我可以禁用硬件声音-但当我这样做时,用户会得到一种工具提示(“声音禁用”),这可能会让用户感到恼火。我更喜欢在用户点击“捕获声音”按钮时暂时禁用声音,而不去注意它。

EN

回答 1

Stack Overflow用户

发布于 2015-04-13 00:01:22

这个解决方案是微不足道的,我几乎是偶然发现的:

在输出块中

代码语言:javascript
复制
[audioManager setOutputBlock:^(float *data, UInt32 numFrames, UInt32 numChannels)
 { ... }

我只需将输出数据设置为零-在分析完数据(使用FFT或卷积或交叉相关或其他方法)后:

代码语言:javascript
复制
// silence the sound in order to disable sound feedback
     for(int i=0; i<numFrames; i++) {
         data[i] = 0.0;
     }

就这样!

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

https://stackoverflow.com/questions/29578675

复制
相关文章

相似问题

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