繁体   English   中英

如何提高android录制的语音质量

[英]How to improve the android recorded voice quality

我有以下用于在android中录制音频/语音的代码:

MediaRecorder recorder=new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setAudioEncodingBitRate(16);
recorder.setAudioSamplingRate(44100);
recorder.setOutputFile(Environment.getExternalStorageDirectory() + File.separator
                    + Environment.DIRECTORY_DCIM + File.separator + "WAVES.amr");

try {
       recorder.prepare();
       recorder.start();
} catch (IOException e) {
       Toast.makeText(topic_player_list_layout.this,"Unable to record",Toast.LENGTH_SHORT).show();
       return;
            }


问题是,与默认的Android语音记录器应用程序或whatsApp/Telegram voice recorder相比,记录的音频文件质量的输出效果不佳。

你有什么建议? 我该怎么做才能提高录音质量?

您必须增加audioEncodingBitRate

MediaRecorder recorder=new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setAudioEncodingBitRate(128000);
recorder.setAudioSamplingRate(44100);

如果我们看一下文档: https : //developer.android.com/reference/android/media/MediaRecorder.OutputFormat ,我们可以看到有很多可用的音频格式。 据我所知,您使用的THREE_GPP无法提供最佳质量。 我会考虑改用MPEG_4 也请尝试使用AAC代替AMR作为音频编码器。

还可以查看此答案以获取更多参考: https : //stackoverflow.com/a/14973295/5457878

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM