android - 使用 MediaRecorder 在我的 droidx 上录制的音频质量很差,为什么?

标签 android audio recording

我的项目要求我能够在 Android 设备上录制音频。我使用 MediaRecorder() 实现了解决方案,但录制的音频质量很差。我究竟做错了什么?我必须认为这不是录制音频的唯一方法 :) 也许我做错了什么,我在下面包含了我的代码。请指出正确的方向。

谢谢!

MediaRecorder recorder = new MediaRecorder();
File outputFile = new File(Environment.getExternalStorageDirectory(), "audio.3gp");
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(outputFile.getAbsolutePath());
recorder.prepare();
recorder.start();
// stop
recorder.stop();
recorder.reset(); 
recorder.release();

最佳答案

AMR_NB 很臭。

将比特率设置为 16,将采样率设置为 44100。

3gpp 通常很糟糕,请尝试改用 AAC/MPEG_4。

试试这个并更新我们。

关于android - 使用 MediaRecorder 在我的 droidx 上录制的音频质量很差,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5010145/

相关文章:

android - 在屏幕的特定位置绘制自定义 View - Android

python - Jupyter 循环播放声音

c# - 错误的 .wav 格式录制音频 NAudio 库

android - 音频,平衡2种来源的声音

Android:打印任务和 Activity 堆栈

android - 如何将动画缩放到特定大小

android - 标题 : self signing server certificate

ios - 使用Amazon S3 for iOS应用程序存储图像/音频文件

python - 特定的 .wav 文件被缩短和扭曲

flash - Youtube 网络摄像头录制如何工作?其他网络摄像头录制解决方案?