【问题标题】:Improve Android Audio Recording quality?提高 Android 录音质量?
【发布时间】:2010-11-29 02:27:17
【问题描述】:

有什么方法可以录制高质量的音频吗?

我如何阅读用户所说的信息?在录音应用程序中,您可以看到这样的指示器(我不知道它的正确名称)。

【问题讨论】:

    标签: android audio-recording


    【解决方案1】:

    对于录音和监听:您可以使用录音机活动。 这是一段sn-p代码:

    Intent recordIntent = new Intent(
                    MediaStore.Audio.Media.RECORD_SOUND_ACTION);
                startActivityForResult(recordIntent, REQUEST_CODE_RECORD);
    

    有关如何录制包含输入监视器的音频的完美工作示例,请下载开源 Ringdroid 项目:https://github.com/google/ringdroid

    查看屏幕截图,您将看到监视器。

    要使音频质量更高,您需要更好的麦克风。内置麦克风只能捕获这么多(这不是那么好)。再次查看 ringdroid 项目,从那里收集一些信息。此时,您可以实施一些标准化和放大例程来改善声音。

    【讨论】:

    • 什么是 REQUEST_CODE_RECORD ?
    • 一个本地常量,我用它来确定我从 onActivityResult() 上的哪个请求返回哪个结果。
    【解决方案2】:

    目前,在 Android 上录制音频质量不佳的一个重要原因是 MediaRecorder 类使用的编解码器(AMR-NB 编解码器)。但是,您可以通过 AudioRecord 类访问未压缩的音频,并将其直接录制到文件中。

    Rehearsal Assistant app 这样做是为了将未压缩的音频保存到 WAV 文件中 - 请查看 RehearsalAudioRecord 类源代码。

    RehearsalAudioRecord 类还提供了一个 getMaxAmplitude 方法,可用于检测自上次调用该方法以来的最大音频电平(MediaRecorder 也提供此方法)。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 2014-01-30
    相关资源
    最近更新 更多