提高android中的录音质量?

Posted

技术标签:

【中文标题】提高android中的录音质量?【英文标题】:Improve Audio Recording quality in android? 【发布时间】:2012-02-22 05:32:54 【问题描述】:

我正在使用MediaRecorderandroid 中进行录音。我在录制时收到的音频质量很差。我检查了 iPhone 录音,它非常好,但在 android 中我收到可怕的声音。

我使用的录音:

 recorder = new MediaRecorder();
 recorder.setAudiosource(MediaRecorder.AudioSource.MIC);
 recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
 recorder.setAudioEncoder(MediaRecorder.AudioSource.DEFAULT);
 recorder.setOutputFile(path);
 recorder.prepare();
 recorder.start(); 

如何提高录音质量?

【问题讨论】:

very poor quality of audio recorded on my droidx using MediaRecorder, why? 的可能重复项 你有什么解决办法吗?并提高音频质量 【参考方案1】:

试试这个 -

recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setAudioEncoder(MediaRecorder.getAudioSourceMax());
recorder.setAudioEncodingBitRate(16);
recorder.setAudioSamplingRate(44100);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start(); 

【讨论】:

我试过了,现在又出现了一个问题……它不录声音 你给Manifest.xml的权限了吗 你...录制音频并写入外部 因为,我的代码不起作用,不是吗?只需检查我更新的代码。 澄清一下,您可能应该执行recorder.setAudioEncodingBitRate(16 * 44100); 之类的操作,而不是使用 16。16 可能是位深度,但对于位速率来说太低了。【参考方案2】:

Android 主要支持 3 种声音格式(我的意思是从创建的角度来看):3gp、mp4 和 amr。实际上那里的所有质量都很差,所以没什么可做的。

无论如何,您都可以使用外部 mp3 编解码器或将其保存为波形文件。声音会更清晰,但这种编解码器(wav)需要上述三种格式的大型语音文件。

【讨论】:

我不同意你的观点,因为在编码世界中,这是可能的 我想知道怎么做 如 SpK 所说...。 . .我仍然对他的回答不满意,我会尝试更多的探索者......

以上是关于提高android中的录音质量?的主要内容,如果未能解决你的问题,请参考以下文章

如何提高 Android Webkit 中的图像质量(与 iOS 相比)

Android MP3录音实现

提高 Red5 RC1 的录音质量

移动周刊第153期-提高Android代码质量之工具篇

如何在 Android 中提高 Camera 2 的图像质量?

如何使用 Camera 2 API Android 提高捕获图像的质量?