Cómo cambiar la orientación de vídeo en MediaRecorder a retrato

Cuando grabo video por MediaRecorder, siempre registra en modo horizontal, independientemente de la orientación real del dispositivo. ¿Cómo forzar a MediaRecorder / Camera a usar la orientación real?

Consulte Camera.Parameters.setRotation () para obtener más información.

Hay un ejemplo allí y en lugar de llamar setRotation (rotación) intenta llamar a mediaRecorder.setOrientationHint (rotación) al grabar vídeo.

Echa un vistazo a la documentación aquí

http://developer.android.com/guide/topics/media/camera.html#capture-video

El error más común con este ejemplo es el setCamera (). USTED DEBE FIJAR LA CÁMARA INMEDIATAMENTE DESPUÉS DE HACER EL MEDIOS DE TRABAJO, de lo contrario obtendrá errores.

  Camera mCamera = getCameraInstance(); // adjust the camera the way you need mCamera.setDisplayOrientation(90); MediaRecorder recorder = new MediaRecorder(); recorder.setCamera(mCamera); recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT); recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); recorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); recorder.setOutputFile(filePath); // add any limits recorder.setMaxDuration(50000); // 50 seconds recorder.setMaxFileSize(5000000); // Approximately 5 megabytes 

Espero que esto ayude a alguien. ¡¡Buena suerte!!

Me he quedado con este problema antes, también. Encontré que usted puede utilizar la función setOrientationHint (API 9). Llame a esta función antes de llamar a MediaRecorder.prepare (). Puede configurar el grado de orientación para su vídeo de salida.

¡Espero que ayude, buena suerte!

Agregue las siguientes dos líneas de código:

 Camera.setDisplayOrientation(90); // use for set the orientation of the preview mRecorder.setOrientationHint(90); // use for set the orientation of output video 

antes de:

 mRecorder.setCamera(mCamera); 

Ejemplo completo:

 mRecorder = new MediaRecorder(); // Both are required for Portrait Video mCamera.setDisplayOrientation(90); mRecorder.setOrientationHint(90); // Step 1: Unlock and set camera to MediaRecorder mCamera.unlock(); mRecorder.setCamera(mCamera); // Step 2: Set sources mRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT); mRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); // Step 3: Set a CamcorderProfile (requires API Level 8 or higher) mRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_480P)); 
  mMediaRecorder = new MediaRecorder(); mServiceCamera.setDisplayOrientation(90); mMediaRecorder.setOrientationHint(90); mServiceCamera.unlock(); mMediaRecorder.setCamera(mServiceCamera); mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mMediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); 
  • El video grabado con Android MediaRecorder está dañado en el Samsung Galaxy S2
  • Mediarecorder Android sólo grabar video de calidad terrible
  • Cómo silenciar el "pitido" por MediaRecorder.start ()?
  • ¿Es posible reducir el tiempo de cambio de contexto
  • Error de la cámara "No se puede conectar a la cámara" o en algunos teléfonos aparece el error "La cámara está usando otra aplicación"
  • Error de inicio del error mediarecording de Android -19 runTimeException
  • ¿Cuándo debo volver a bloquear la cámara?
  • Error al iniciar MediaRecorder: -38
  • Cómo grabar el video usando la vista previa de la cámara en TextureView
  • MediaRecorder.start () lanzando IllegalStateException
  • ¿Cómo recuperar datos al grabarlos y visualizarlos como gráficos (Visualizador) en la pantalla?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.