事前定義された長さ、たとえば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秒の時間が経過した後、レコーダーをリセットする必要があるイベントを知る必要があります。