2012-08-23 13 views
18

録画したビデオをポートレートモードで90度回転させることができました。私はsurfaceCreated方法で次のコード用いるためインターネットにアップロードした後、録画したビデオを90度回転させた

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

プレビューが右方向でもある:このように

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

を、IはmediaRecorderを設定するとこのように、私はそれを回転させるために、次のコードを使用しました録画されたビデオは、デバイス上で再生されると正しい向きになります。ただし、インターネットにアップロードした後もビデオは90度回転しています。誰もこれについて助言していますか?どうもありがとう。

+0

あなたの問題の解決策を見つけましたか? –

+0

@LazyNinja、私はそう思わない、私は回転した画像を送信し、後でそれらを変更する必要があります... – Iam619

+0

あなたの返信いただきありがとうございます。私は同じ問題に直面していて、それを解決する方法を理解したいと思っていました@ lam619 –

答えて

3

一部のビデオプレーヤーでは、ビデオの再生時に向きのヒントが考慮されます。他のプレイヤーはそうしない。 Windows Media Player、Quick Time、Real PlayerでこのビデオをPCで再生し、違いを確認してください。
おそらく問題はあなたのコードではなく、あなたのビデオを見るために使用しているビデオプレーヤーです。

3

使用mMediaRecorder.setOrientationHint(int) これは間違いなく動作します。 potraitとlandscapeのすべてのカメラのint値を取得するには、さまざまな向きを使用する必要があります。

関連する問題