Cuando grabo video por MediaRecorder, siempre se graba en modo horizontal, independientemente de la orientación real del dispositivo. Cómo forzar MediaRecorder/Camera a usar la orientación real?cómo cambiar la orientación de video en MediaRecorder a retrato
Respuesta
consulte Camera.Parameters.setRotation() para obtener más información.
Hay un ejemplo allí y en lugar de llamar a setRotation (rotación) intente llamar a mediaRecorder.setOrientationHint (rotación) al grabar video.
'mediaRecorder.setOrientationHint' solo cambia la orientación del video de salida, no la orientación de la vista previa. – Cat
Además, 'setOrientationHint' solo funciona para las transmisiones MPEG4. Otros (como MPEG2TS) no implementan esta opción (se ignora silenciosamente). – Lekensteyn
@Cat tienes razón, ¿alguna idea sobre cómo solucionar eso en la vista previa? –
Tome un vistazo a la documentación aquí
http://developer.android.com/guide/topics/media/camera.html#capture-video
La trampa más común con el presente ejemplo es el setCamera(). DEBE INSTALAR LA CÁMARA INMEDIATAMENTE DESPUÉS DE HACER EL MEDIA GRABADOR, 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!!
este código fallará A MENOS QUE llame a 'mCamera.unlock();' antes de 'recorder.setCamera (mCamera)': http://developer.android.com/reference/android/hardware/Camera.html#unlock() – Cat
Me he quedado con este problema antes, también. Descubrí que puedes usar 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 video de salida.
Espero que ayude, ¡buena suerte!
Añadir 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:
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));
- 1. Captura de video MediaRecorder en modo retrato
- 2. Cómo cambiar la orientación del video para AVCaptureVideoDataOutput
- 3. Android orientación de vídeo retrato mal en VideoView
- 4. orientación de retrato de cámara para Android
- 5. Modo de retrato forzado en la cámara
- 6. iTextSharp cómo rotar/cambiar página de paisaje a retrato
- 7. Chrome HTML5 Video volteando retrato hacia los lados
- 8. Cambiar la orientación en tiempo de ejecución
- 9. SDK de iPhone: Orientación (Vistas de paisaje y retrato)
- 10. Cómo cambiar la velocidad de fotogramas cuando se usa MediaRecorder Class
- 11. Cómo corregir la orientación de la pantalla al retrato de toda mi aplicación PhoneGap
- 12. FFmpeg en iPhone - Modificación de la orientación de video
- 13. Paisaje de orientación de la pantalla de nuevo a retrato no funciona
- 14. El video grabado tiene la orientación incorrecta
- 15. Android MediaRecorder en streaming
- 16. ¿Cómo cambiar la orientación del control UniformGrid?
- 17. cómo exportar un activo de video a través de AVAssetExportSession en modo retrato
- 18. Cómo establecer la orientación predeterminada en iOS Simulator
- 19. Restaurar ActionMode después de cambiar la orientación
- 20. ¿Cómo ajustar a la pantalla después de cambiar el ancho de la ventana gráfica en el cambio de orientación?
- 21. La cámara se extiende en modo retrato
- 22. Android: ¿Cómo inicializar MediaRecorder sin una superficie válida para la vista previa del video?
- 23. En Matlab, ¿cómo cambiar la orientación del eje?
- 24. Problema con android MediaRecorder setVideoSize()
- 25. cambiar la orientación sin onCreate call
- 26. ¿Cómo cambiar la orientación del buffer de devolución de llamada de la cámara?
- 27. iOS: ¿Cómo puedo cambiar la orientación de un UICollectionViewCell?
- 28. cómo cambiar la cámara Android al retrato en la vista de superficie?
- 29. ¿Cómo configurar el MediaRecorder para obtener el mejor efecto de calidad de video?
- 30. ¿Cómo obtener la orientación actual de la vista del iPhone o la última orientación del dispositivo?
qué pasa conjunto 'androide: screenOrientation =" paisaje "' de su CameraActivity en el manifiesto – IgniteCoders