在我的 MediaRecorder 上调用 stop()
在 Samsung Galaxy Camera 上无限期挂起。将此调用放在单独的线程中也无助于解决问题。
Logcat 不显示任何错误消息。但是,在 Samsung Galaxy Nexus 上运行同一个应用程序不会出现任何问题。
这是围绕我调用 stop
的代码:
View.OnClickListener captureListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isRecording) {
// stop recording and release camera
mMediaRecorder.stop();
releaseMediaRecorder(); // release the MediaRecorder object
mCamera.lock(); // take camera access back from MediaRecorder
// inform the user that recording has stopped
captureButton.setText("Capture");
isRecording = false;
} else {
// initialize video camera
if (prepareVideoRecorder()) {
// Camera is available and unlocked, MediaRecorder is prepared,
// now you can start recording
mMediaRecorder.start();
// inform the user that recording has started
captureButton.setText("Stop");
isRecording = true;
} else {
// prepare didn't work, release the camera
releaseMediaRecorder();
// inform user
}
}
}
};
最佳答案
我看到的一件事是,对于某些设备,如果没有附加预览(即您之前调用过 Camera.stopPreview() 或者您可能从未调用过 startPreview()),MediaRecorder.stop() 会挂起。
关于android - MediaRecorder.stop() 在三星 Galaxy 相机上挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14944300/