为啥 MediaRecorder 延迟开始录制?

Posted

技术标签:

【中文标题】为啥 MediaRecorder 延迟开始录制?【英文标题】:Why is MediaRecorder delaying the start of recording?为什么 MediaRecorder 延迟开始录制? 【发布时间】:2013-11-12 19:03:47 【问题描述】:

我在我的 android 应用程序中实现了一个使用mediaRecorder 录制音频文件的功能。 它工作正常,但由于某些原因跳过了录制的第一秒。

我使用了完全相同的code from the developer documentation,所以我不明白为什么会这样。

我在寻找这个问题的答案,我发现很少有人有同样的问题,但没有真正的解决方案。

这是我的研究:

MediaRecorder class starts recording audio after slight delay MediaRecorder Silence at Beginning of Recording (Delay?) MediaRecorder starts with a 1 sec delay. How do I get rid of the silence?

我有一台 LG 设备,不确定是否是硬件问题。 我也知道mediaRecorder 的一些替代方案,我只是想知道是否有人找到解决此问题的方法。

【问题讨论】:

关于录音开头的静音;至少在我使用过的一些设备上,这样做是为了避免在开始时出现垃圾样本,因为在启用麦克风的电压调节器后过早地从麦克风读取数据。不过,这种沉默并没有持续近一秒钟,IIRC,所以你可能正在寻找一个不同的问题。 【参考方案1】:

说实话,mediaRecorder 类是垃圾。

如果您遇到同样的问题,只是沉默或死气沉沉,您没有太多选择。

这个问题无法通过代码解决,看来是硬件问题。

不幸的是,某些设备的行为会有所不同。

解决方案是使用AudioRecorder 类,因为它更接近硬件,所以更加灵活。不要在mediaRecorder 上浪费时间!

【讨论】:

以上是关于为啥 MediaRecorder 延迟开始录制?的主要内容,如果未能解决你的问题,请参考以下文章

Android多媒体功能开发(13)——使用MediaRecorder类录制视频

Android 如何使用 MediaRecorder 录制音频并输出为原始 PCM?

为啥我在停止 MediaRecorder 时会收到 IllegalStateException?

MediaRecorder:启动失败:-19

android MediaRecorder录制音频

使用MediaRecorder录制音频