2013-02-18 93 views
6

在我的MediaRecorder上调用stop()无限期地在Samsung Galaxy Camera上挂起。将这个调用放在一个单独的线程中也不能解决问题。MediaRecorder.stop()挂在Samsung Galaxy Camera上

Logcat不显示任何错误消息。然而,运行这个相同的应用程序不会导致三星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 
      } 
     } 
    } 
}; 

回答

0

有一件事,我看到的是,对于某些设备MediaRecorder.stop()挂起如果没有预览连接(即你叫Camera.stopPreview( )之前或者你可能永远不会调用startPreview())。

相关问题