2012-08-23 16 views
18

Encontré que el video grabado en modo vertical girará 90 grados. Por lo tanto utilicé el siguiente código para hacerla girar cuando me puse la MediaRecorder:El video grabado gira 90 grados después de cargarlo a Internet

if (this.getResources().getConfiguration().orientation !=Configuration.ORIENTATION_LANDSCAPE) 
{ 
    mediaRecorder.setOrientationHint(270); 
} 
else 
{ 
    mediaRecorder.setOrientationHint(0); 
} 

mediaRecorder.setOutputFile(file_name);     
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT); 
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); 

La vista previa es también en la orientación derecha desde que utiliza el código siguiente en el método surfaceCreated:

Camera.Parameters params = camera.getParameters(); 

if (this.getResources().getConfiguration().orientation 
    !=Configuration.ORIENTATION_LANDSCAPE) 
{ 
    camera.setDisplayOrientation(90); 

} 
else 
{ 
    camera.setDisplayOrientation(0);     
} 

    params.setRotation(90); 
    camera.setParameters(params); 

De esta manera, el video grabado está en la orientación correcta cuando se reproduce en el dispositivo. Sin embargo, el video sigue girando 90 grados después de subirlo a Internet. ¿Alguien tiene consejos sobre esto? Muchas gracias.

+0

¿Encontró una solución para su problema? –

+0

@LazyNinja, supongo que no, tengo que enviar las imágenes giradas y volver a cambiarlas más tarde ... – Iam619

+0

Gracias por su respuesta. Estaba enfrentando el mismo problema y quería resolver cómo resolverlo @ lam619 –

Respuesta

3

Algunos reproductores de video consideran la sugerencia de orientación cuando se reproduce un video. Otros jugadores no. Simplemente intente reproducir este video en su PC con Windows Media Player, Quick Time y Real Player y vea las diferencias.
Probablemente el problema no sea su código, sino el reproductor de video que está utilizando para ver su video.

3

Use mMediaRecorder.setOrientationHint(int) Esto definitivamente funciona. Es posible que necesite trabajar las diversas orientaciones para obtener valores int para todas las cámaras en potrait y en horizontal.

Cuestiones relacionadas