如何使用MediaRecorder开启或关闭录音

时间:2018-12-26 11:04:41

标签: java android audio android-mediarecorder

我正在使用MediaRecorder

实施一个演示视频和音频录制

从听到的声音中下载演示: Android MediaRecorder Sample

prepareVideoRecorder()中有一种方法 MainActivity.java 。在此方法中初始化并设置源音频和视频,如:

mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

现在我要音频 ON OFF 功能。

为此,我将尝试这样:

 if (!AppSetting.getValue(activity, Config.AUDIO, false)) {
            mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
        }else {
            mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
            mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
        }

但是应用程序崩溃并出现以下错误:

java.lang.IllegalStateException
at android.media.MediaRecorder.setAudioEncoder(Native Method)

所以我该如何解决此错误,或者还有另一种音频 ON OFF 的解决方案:

1 个答案:

答案 0 :(得分:0)

我找到了解决方法:


如果我的开关 ON ,则执行 30309 部分(声音已记录)。如果我的开关 OFF ,则执行if部分(声音未录制)。


else