2012-08-23 12 views
18

Ich habe festgestellt, dass aufgezeichnete Videos im Hochformat 90 Grad drehen. So habe ich den folgenden Code, um es zu drehen, wenn ich die mediaRecorder gesetzt:Aufgenommenes Video wird nach dem Hochladen ins Internet um 90 Grad gedreht

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); 

Die Vorschau ist auch in der richtigen Orientierung, da ich den folgenden Code in surfaceCreated Methode verwendet:

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); 

Auf diese Weise Das aufgenommene Video ist in der richtigen Ausrichtung, wenn es auf dem Gerät wiedergegeben wird. Das Video wird jedoch nach dem Hochladen ins Internet immer noch um 90 Grad gedreht. Hat jemand diesbezüglich Ratschläge? Danke vielmals.

+0

Haben Sie eine Lösung für Ihr Problem gefunden? –

+0

@LazyNinja, ich denke nicht, ich muss die gedrehten Bilder senden und sie später wieder ändern ... – Iam619

+0

Danke für Ihre Antwort. Ich hatte das gleiche Problem und wollte herausfinden, wie man es löst @ lam619 –

Antwort

3

Einige Video-Player berücksichtigen den Orientierungshinweis beim Abspielen eines Videos. Andere Spieler nicht. Versuchen Sie einfach dieses Video auf Ihrem PC mit Windows Media Player, Quick Time und Real Player abzuspielen und sehen Sie sich die Unterschiede an.
Wahrscheinlich ist das Problem nicht Ihr Code, sondern der Videoplayer, mit dem Sie Ihr Video ansehen.

3

Verwenden mMediaRecorder.setOrientationHint(int) Dies funktioniert definitiv. Möglicherweise müssen Sie die verschiedenen Orientierungen bearbeiten, um Int-Werte für alle Kameras in Potrait und Landscape zu erhalten.

Verwandte Themen