首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用HTC噪声消除

禁用HTC噪声消除
EN

Stack Overflow用户
提问于 2012-05-03 02:03:36
回答 1查看 3.5K关注 0票数 6

我有一个能读取麦克风的应用程序。具体来说,我正在探测麦克风上的吹气声;)它在很多HTC设备上都不起作用。我买了一个HTC Droid Eris以及一个HTC Droid难以置信。除了这些,我有很多朋友的报告说,宏达电的设备也经历了这个问题,包括相对新的宏达电雷电。

因此,调试这款应用程序就会发现,在星巴克,周围房间的噪音记录在4000到11000之间。一旦我吹进麦克风,输入音量就会下降到400 0度:每次,一直都是。

有人知道这是否可以以编程方式禁用吗?

我就是这么读输入的..。

代码语言:javascript
复制
    int minBufferSize = AudioRecord.getMinBufferSize(8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);
    AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, 8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, minBufferSize);
    short[] buffer = new short[minBufferSize];

    audioRecord.startRecording();
    audioRecord.read(buffer, 0, minBufferSize);

    int i = 0;
    for (short sample : buffer) {
        inputVolume = Math.abs(sample);
        maxVolumeIn = (inputVolume > maxVolumeIn) ? inputVolume : maxVolumeIn;
        if (inputVolume >= micSensitivity) {
            Log.d(TAG, "Blowing Detected. Volume Level: " + inputVolume);
            break;
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2012-10-24 23:01:28

它在很小的程度上是可以安置的。

使用音频源MediaRecorder.AudioSource.VOICE_RECOGNITION而不是MediaRecorder.AudioSource.MIC将关闭该输入的音频过滤器。一般来说,从设备到设备的过滤来看,这是一种疯狂的西方。即使使用VOICE_RECOGNITION也不是完美的,因为只有在冰淇淋三明治兼容性定义中才采用了关闭过滤器。HTC在冰淇淋三明治之前就使用了它,所以对于你的情况来说,这可能是正确的选择。

来自Android4.0兼容性定义文档第5.3节

除了上述录制规范外,当应用程序开始使用android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION音频源录制音频流时:

  • 如果存在降噪处理,则必须禁用。
  • 如果存在自动增益控制,则必须禁用。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10424133

复制
相关文章

相似问题

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