【发布时间】:2010-11-29 02:27:17
【问题描述】:
有什么方法可以录制高质量的音频吗?
我如何阅读用户所说的信息?在录音应用程序中,您可以看到这样的指示器(我不知道它的正确名称)。
【问题讨论】:
有什么方法可以录制高质量的音频吗?
我如何阅读用户所说的信息?在录音应用程序中,您可以看到这样的指示器(我不知道它的正确名称)。
【问题讨论】:
对于录音和监听:您可以使用录音机活动。 这是一段sn-p代码:
Intent recordIntent = new Intent(
MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivityForResult(recordIntent, REQUEST_CODE_RECORD);
有关如何录制包含输入监视器的音频的完美工作示例,请下载开源 Ringdroid 项目:https://github.com/google/ringdroid
查看屏幕截图,您将看到监视器。
要使音频质量更高,您需要更好的麦克风。内置麦克风只能捕获这么多(这不是那么好)。再次查看 ringdroid 项目,从那里收集一些信息。此时,您可以实施一些标准化和放大例程来改善声音。
【讨论】:
目前,在 Android 上录制音频质量不佳的一个重要原因是 MediaRecorder 类使用的编解码器(AMR-NB 编解码器)。但是,您可以通过 AudioRecord 类访问未压缩的音频,并将其直接录制到文件中。
Rehearsal Assistant app 这样做是为了将未压缩的音频保存到 WAV 文件中 - 请查看 RehearsalAudioRecord 类源代码。
RehearsalAudioRecord 类还提供了一个 getMaxAmplitude 方法,可用于检测自上次调用该方法以来的最大音频电平(MediaRecorder 也提供此方法)。
【讨论】: