提高android中的录音质量?
Posted
技术标签:
【中文标题】提高android中的录音质量?【英文标题】:Improve Audio Recording quality in android? 【发布时间】:2012-02-22 05:32:54 【问题描述】:我正在使用MediaRecorder
在android 中进行录音。我在录制时收到的音频质量很差。我检查了 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 相比)