2017-10-18 20 views
0

私は前回の活動に戻す方法を知っています。現在の活動(VideoActivity.java)にはMediaRecorderのビデオを録画するためにSurfaceViewがあります。私は前の活動に戻りますfinish()を実装するたびに、それは以下のlogcatのようなエラーを引き起こし:SurfaceViewを持つ現在のアクティビティがある場合、以前のアクティビティに戻る方法は?

E/BufferQueueProducer: [SurfaceView] dequeueBuffer: BufferQueue has been abandoned 
E/EmulatedCamera_Preview: onNextFrameAvailable: Unable to dequeue preview window buffer: 19 -> No such device 

logcatはちょうどので、私はちょうどこの2行を示し、非常に長いリストを上記の2行を繰り返してなります。

上記logcatを表示する以外に、私がVideoActivity.javaを指しているときはいつでも、アプリケーションは停止しています。このコードは正常に動作している

​​

私は、以前の活動に戻る前に:これは私が

backButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       if(isRecording){ 
        stopRecording(); 
        finish(); 
       }else{ 
        finish(); 
       } 

     } 
    }); 

基本的に私はこのようなSurfaceViewを実装する前のアクティビティに戻すために実装方法です

finish()を使用してください。

私の質問は、アクティビティがSurfaceViewの場合、どのように以前のアクティビティに戻ることができますか?正しい方法を教えてください。

答えて

0

私は、コードがこの

back.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if(isRecording){ 
        Log.d("Video","stop recording"); 
      try{ 
        mRecorder.stop(); 
      }catch (RuntimeException e) { 

      } 
      releaseMediaRecorder(); 
      mCamera.lock(); 
      isRecording = false; 
      releaseCamera(); 
        finish(); 
       }else{ 
        releaseCamera(); 
        finish(); 
       } 

      } 
     }); 
} 

private void releaseCamera(){ 
     if (mCamera != null){ 
      // release the camera for other applications 
      mCamera.setPreviewCallback(null); 
      surfaceHolder.removeCallback(VideoActivity.this); 
      mCamera.release(); 
      mCamera = null; 
     } 
} 

private void releaseMediaRecorder(){ 
     if (mRecorder != null) { 
      // clear recorder configuration 
      mRecorder.reset(); 

      mRecorder.release(); 
      mRecorder = null; 

      mCamera.lock(); 
     } 
} 
のように見えているので、私は、リリースによって finish()CameramediaRecorderをこの問題を解決することができ CameraMediaRecorder .Iを解放didntの実現
関連する問題