我正在开发一个应用程序,我需要在预定义的按钮上点击15秒钟来录制视频。 15秒后我想自动重置MediaRecorder而无需手动中断我的代码就在这里。
public void initMediaRecorder(){
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
mRecorder.setPreviewDisplay(mHolder.getSurface());
mRecorder.setMaxDuration(15000);
mRecorder.setOutputfile("blahblah On SD card")
mRecorder.setOutputFile(mOutputFile);
}
现在录音已经完成,但是15秒后我的UI开始冻结,我需要手动重置录音机。我需要知道在15秒完成后我应该重置录像机的事件。
答案 0 :(得分:0)
我找到了解决方案。 也许这个答案对某些人有帮助。
使用以下监听器
recorder.setOnInfoListener(new medialistener());
class medialistener implements MediaRecorder.OnInfoListener {
public void onInfo(MediaRecorder recorder, int what, int extra)
{
if(what==MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED)
{
}
// Log.i("video test", "Video Info: "+what+", "+extra);
}
}
欢呼声。