0

Я создал активность камеры и зафиксировал ее ориентацию на портрет из манифеста.Прослушивание изменения ориентации устройства при ориентации заблокировано

<activity 
      android:name=".ui.activity.CameraActivity" 
      android:screenOrientation="portrait" 
      > 

Как я снимаю видеорекордер, мне нужно понять ориентацию, чтобы сохранить видео в правильном положении.

mediaRecorder.setOrientationHint (orentation);

Я получаю ориентацию от этой функции

public int setCameraDisplayOrientation(Activity activity, 
              int cameraId, android.hardware.Camera camera) { 
     android.hardware.Camera.CameraInfo info = 
       new android.hardware.Camera.CameraInfo(); 
     android.hardware.Camera.getCameraInfo(cameraId, info); 
     int rotation = activity.getWindowManager().getDefaultDisplay().getRotation(); 
     int degrees = 0; 
     switch (rotation) { 
      case Surface.ROTATION_0: 
       degrees = 0; 
       break; 
      case Surface.ROTATION_90: 
       degrees = 90; 
       break; 
      case Surface.ROTATION_180: 
       degrees = 180; 
       break; 
      case Surface.ROTATION_270: 
       degrees = 270; 
       break; 
     } 

     int result; 
     if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { 
      result = (info.orientation + degrees) % 360; 
      result = (360 - result) % 360; // compensate the mirror 
     } else { // back-facing 
      result = (info.orientation - degrees + 360) % 360; 
     } 

     Camera.Parameters params = camera.getParameters(); 
     params.setRotation(result); 
     camera.setParameters(params); 
     camera.setDisplayOrientation(result); 
     return result; 
    } 

Когда ориентация не фиксированная из манифеста этого метода отлично работает, но мне нужно, чтобы исправить ориентацию моих видео сохранения только в портретном состоянии.

Помогите определить ландшафтный режим.

ответ

0

вы можете решить эту проблему путем программно изменить ориентацию деятельности в режиме видео:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

просто обнаружить режим камеры (изображение/видео) и изменить ориентацию соответственно

 Смежные вопросы

  • Нет связанных вопросов^_^