为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

小唯快跑啊 2022-04-07 09:05:02
问题是这样的..我打开视频然后按录制的时候直接就出现耗时..别说录了~直接卡在第一帧立即耗时 一段时间后就报耗时了..求解.. 报的错就是我在使用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);//输出格式为mp4recorder.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
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

在Android中使用MediaRecorder录音,需要以下几个步骤,如果步骤不对,可能会造成start failed这样的错误。
1、创建MediaRecorder对象
2、调用MediRecorder对象的setAudioSource()方法设置声音的来源,一般传入MediaRecorder.MIC
3、调用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()方法释放资源

查看完整回答
反对 回复 2022-04-11
?
波斯汪

TA贡献1811条经验 获得超4个赞

找不到音频源,或者视频源?
检查一下Camera和麦克风是否好使?
还有需要确保媒体服务已经正常启动!

查看完整回答
反对 回复 2022-04-11
  • 2 回答
  • 0 关注
  • 743 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信