2014-01-09 2 views
1
나는 사용자 정의 카메라 응용 프로그램

:맞춤형 카메라 앱을 사용할 때 동영상을 세로로 전환하는 방법은 무엇입니까?

mCamera.setDisplayOrientation(90); 

카메라 디스플레이 초상화 좋아,하지만 파일 결과 (비디오) 초상화를 표시하지 : 나는 같은 카메라 디스플레이 초상화를 설정합니다. 코드 시도 :

Camera.Parameters parameters = mCamera.getParameters(); 
      parameters.setRotation(90);   
      mCamera.setParameters(parameters); 

하지만 괜찮습니다.

왜? 이 문제를 해결하는 방법은 무엇입니까? 감사.

+0

감사드립니다. – Altaf

+0

내 대답을 시도하십시오 !!!!! 그것은 당신을 도울 수 – Hardik

+0

내 휴대 전화의 카메라 기본값. 그것은 세로보기 좋아 보인다. 카메라를 만들 때 속성을 설정할 수 있다고 생각합니다. – mum

답변

1

setDisplayOrientation() 수동 말한다 :

가도

다음

미리보기 표시의 시계 방향 회전 설정이 바이트의 순서에 영향을 미치지 는 않습니다 onPreviewFrame (byte [], Camera)에서 전달 된 배열, JPEG 그림 또는 녹화 된 비디오.

미리보기 만 저장 한 비디오 스트림을 회전 할 수 없습니다.

+0

mCamera.setDisplayOrientation (90);을 설정했습니다. 카메라가 미리보기를 확인했는데 왜 동일한 카메라보기가 아닌가? 예를 들어 줄 수 있습니까? – mum

+0

수정 된 답변보기 그리고 왜 당신은 아직 문서를 읽지 않았습니까? –

0

내가 문제를 알고 여기에 볼 수있다 그래서 rotate Media Recorder이 필요합니다. 아래 코드를 사용하여 문제를 해결해야합니다.

/** 
* 
* @param mMediaRecorder 
* @return 
*/ 
public static MediaRecorder rotateBackVideo(MediaRecorder mMediaRecorder) { 
    /** 
    * Define Orientation of video in here, 
    * if in portrait mode, use value = 90, 
    * if in landscape mode, use value = 0 
    */ 
    switch (CustomCamera.current_orientation) { 
     case 0: 
      mMediaRecorder.setOrientationHint(90); 
      break; 
     case 90: 
      mMediaRecorder.setOrientationHint(180); 
      break; 
     case 180: 
      mMediaRecorder.setOrientationHint(270); 
      break; 
     case 270: 
      mMediaRecorder.setOrientationHint(0); 
      break; 
    } 

    return mMediaRecorder; 
} 

prepare() 방법 전에 추가해야합니다 :

// Step 5: Set the preview output 
    /** 
    * Define Orientation of image in here, 
    * if in portrait mode, use value = 90, 
    * if in landscape mode, use value = 0 
    */ 
    CustomCamera.mMediaRecorder = Utils.rotateBackVideo(CustomCamera.mMediaRecorder); 
    CustomCamera.mMediaRecorder.setPreviewDisplay(mCameraPreview.getHolder().getSurface()); 

스트림을 회전하는 것은 불가능합니다 당신

관련 문제