如何提高 android 录制的语音质量
How to improve the android recorded voice quality
我在android中记录audio/voice的代码如下:
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
相比,录制音频文件的输出质量不佳。
你有什么建议?如何提高录制语音的质量?
如果我们看一下文档:https://developer.android.com/reference/android/media/MediaRecorder.OutputFormat,我们可以看到有很多可用的音频格式。据我所知,您使用的 THREE_GPP
并没有提供最好的质量。我会考虑改用 MPEG_4
。也尝试使用 AAC
而不是 AMR
作为音频编码器。
另请查看此答案以获取更多参考:
你必须增加你的 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);
我在android中记录audio/voice的代码如下:
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
相比,录制音频文件的输出质量不佳。
你有什么建议?如何提高录制语音的质量?
如果我们看一下文档:https://developer.android.com/reference/android/media/MediaRecorder.OutputFormat,我们可以看到有很多可用的音频格式。据我所知,您使用的 THREE_GPP
并没有提供最好的质量。我会考虑改用 MPEG_4
。也尝试使用 AAC
而不是 AMR
作为音频编码器。
另请查看此答案以获取更多参考:
你必须增加你的 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);