我发现以纵向模式拍摄的视频将旋转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度旋转。有人有建议吗?非常感谢。