Android 用MediaRecorder音频录制,出现start failed?如何解决?

问题是这样的..我打开视频然后按录制的时候直接就出现耗时..别说录了~直接卡在第一帧立即耗时 一段时间后就报耗时了..求解.. 报的错就是我在使用recorder.start();
这一行中报java.lang.RuntimeException: start failed.
try{
recorder.setPreviewDisplay(videoholder.getSurface());
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);//视频源
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);//录音源为麦克风
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);//输出格式为mp4
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);//视频编码
recorder.setVideoFrameRate(24);//视频帧频率
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//音频编码
recorder.setOutputFile(myRecVideoFile.getAbsolutePath());//保存路径
recorder.prepare();
datestart = System.currentTimeMillis();
recorder.start();
timer = new Timer(true);
timer.schedule(task,1000,1000);

}catch(IOException e){
Toast.makeText(ChatShowVideo.this, "录制失败", Toast.LENGTH_SHORT).show();
ChatShowVideo.this.finish();
}
}

一使用Toast后直接就finish了~报的错就是 start failed

小唯快跑啊
浏览 757回答 2
2回答

阿晨1998

在Android中使用MediaRecorder录音,需要以下几个步骤,如果步骤不对,可能会造成start failed这样的错误。1、创建MediaRecorder对象2、调用MediRecorder对象的setAudioSource()方法设置声音的来源,一般传入MediaRecorder.MIC3、调用MediaRecorder对象的setOutputFormat()设置所录制的音频文件的格式4、调用MediaRecorder对象的setAudioRncoder()、setAudioEncodingBitRate(int bitRate)、setAudioSamlingRate(int SamplingRate)设置所录音的编码格式、编码位率、采样率等,5、调用MediaRecorder对象的setOutputFile(String path)方法设置录制的音频文件的保存位置6、调用MediaRecoder对象的Prepare()方法准备录制7、调用MediaRecoder对象的start()方法开始录制8、调用MediaRecoder对象的stop()方法停止录制,并调用release()方法释放资源

波斯汪

找不到音频源,或者视频源?检查一下Camera和麦克风是否好使?还有需要确保媒体服务已经正常启动!
打开App,查看更多内容
随时随地看视频慕课网APP