【问题标题】:Audio quality issue when recorded with MediaRecorder使用 MediaRecorder 录制时的音频质量问题
【发布时间】:2016-09-26 12:35:04
【问题描述】:

Android App中MediaRecorder录制的音频有这么多噪音。如何在录制时使用噪音抑制来消除噪音。

【问题讨论】:

    标签: android


    【解决方案1】:

    我在使用 MediaRecorder 时遇到了同样的音频质量低的问题,最终找到了正确的工作解决方案。为了获得高质量的录音,您需要进行以下一些修改:

    使用 .m4a 扩展名保存文件。 和

    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    mRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
    mRecorder.setAudioEncodingBitRate(16*44100);
    mRecorder.setAudioSamplingRate(44100);
    

    stackoverflow 上的许多解决方案会建议 .setAudioEncodingBiteRate(16),但 16 太低而无法被视为无意义。

    来源:@Grant 在 stackoverflow 上的回答 very poor quality of audio recorded on my droidx using MediaRecorder, why?

    【讨论】:

      【解决方案2】:

      您是使用模拟器还是在实际设备上进行测试(如果是,是哪个设备)?声学调整(包括增益控制、降噪等)将特定于给定平台和产品,您无法更改。

      Jellybean 包含 API,可让应用程序在录音上应用某些声学过滤器,噪声抑制器就是其中之一。但是,通过使用该 API,您将您的应用程序限制为只能在运行 Jellybean 或更高版本的设备上正常运行(甚至并非所有这些设备都可能真正实现此功能)。

      另一种可能性是在您的应用中包含噪声抑制器。我认为例如Speex 包含噪声抑制功能,但它面向低比特率语音编码。

      https://developer.android.com/reference/android/media/audiofx/NoiseSuppressor.html

      android voice recording - voice with background noice issue

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多