I\'ve faced a very strange behavior: sometimes my mediarecorder crashes with an error \"Stop failed\" and sometimes it works fine. Is there my fault or it is a bug of the sy
Experienced the same error: Sometimes my MediaRecorder crashed with an error "Stop failed" and sometimes it worked fine. Adding this solved my problem:
@Override
public void onStop() {
super.onStop();
if (mRecorder != null) {
mRecorder.release();
mRecorder = null;
}
}
You may catch a RuntimeException at the MediaRecorder.stop() method.
Example:
MediaRecorder mRecorder = new MediaRecorder();
File mFile = new File("The output file's absolutePath");
... //config the mRecorder
mRecorder.setOutputFile(mFile.getAbsolutePath());
... //prepare() ...
mRecorder.start();
try {
mRecorder.stop();
} catch(RuntimeException e) {
mFile.delete(); //you must delete the outputfile when the recorder stop failed.
} finally {
mRecorder.release();
mRecorder = null;
}
add following in your SurfaceCreated(SurfaceHolder holder):
CamcorderProfile camcorderProfile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH); //get your own profile
Camera.Parameters parameters = mCamera.getParameters();
parameters.setPreviewSize(camcorderProfile.videoFrameWidth,camcorderProfile.videoFrameHeight);
mCamera.setParameters(parameters);
If the recorder is not in a recording state, then the stop could fail.
See http://developer.android.com/reference/android/media/MediaRecorder.html