2013-02-15 4 views
0

내 앱에서 전면 및 후면 카메라를 전환해야합니다. 문제는 전면 카메라를 열거 나 후면 카메라를 열 수 있다는 것입니다. 그러나 카메라가 이미 열려 있으면 미리보기에 표시된 내용을 전환 할 수 없습니다. 개념의 증거로서, 나는 이미 열어 놓은 후방 카메라 미리보기를 앞쪽으로 향하게하려고 노력하고있다. 내가 이렇게 보이는 방법 toggleCamera 작성하려고 해요 :이 경우 전면 카메라와 후면 카메라를 어떻게 전환 할 수 있습니까?

public void toggleCamera(){ 
    mCamera.stopPreview(); 
    int frontCameraId = 0; 
    for (int camNo = 0; camNo < Camera.getNumberOfCameras(); camNo++) { 
    CameraInfo camInfo = new CameraInfo(); 
     Camera.getCameraInfo(camNo, camInfo); 
     if (camInfo.facing==(Camera.CameraInfo.CAMERA_FACING_FRONT)) { 
      frontCameraId = camNo; 
     } 
    } 
    mCamera.release(); 
    mCamera = Camera.open(frontCameraId); 
    mCamera.startPreview(); 
    Log.d(TAG + "Restarting camera", ""+frontCameraId); 
} 

는 지금, 카메라가 단지 정지합니다. 나는 몇몇 장소에서 cameraParameter를 "camera-id"로 설정해야한다는 것을 보았습니다. 그러나 이것은 나에게 도움이되지 않았고, 이것을 지원하는 문서는 발견되지 않았습니다.

답변

0

카메라를 전환 할 때, 당신은 (이 답변에서 볼 수 있듯이 : how to switch between front and back camera when using MediaRecorder android) 다시 PreviewDisplay 및 PreviewListener을 설정해야합니다 : 난 그냥 이것을 구현

mCamera = Camera.open(frontCameraId); 
// added code 
mCamera.setPreviewDisplay([reference to your SurfaceHolder object]); 
mCamera.setPreviewCallback([reference to your Camera.PreviewCallback object]); 
// end added code 
mCamera.startPreview(); 
Log.d(TAG + "Restarting camera", ""+frontCameraId); 
관련 문제