ポートレートモードで録画したビデオは90度回転することがわかりました。したがって、mediaRecorderを設定するときに、次のコードを使用して回転させました。
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);
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);
このように、録画されたビデオは、デバイスで再生されたときに正しい向きになります。ただし、インターネットにアップロードした後も、ビデオは90度回転しています。誰かがこれについてアドバイスがありますか?どうもありがとう。