6

stop()MediaRecorderを呼び出すと、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
            }
        }
    }
};
4

1 に答える 1

0

私が見たことの 1 つは、一部のデバイスでは、プレビューが添付されていない場合に MediaRecorder.stop() がハングすることです (つまり、以前に Camera.stopPreview() を呼び出したか、startPreview() を呼び出したことがない)。

于 2016-06-19T11:40:57.093 に答える