上传到互联网后,录制的视频旋转90度

Iam*_*619 18 android video-recording autorotate

我发现以纵向模式录制的视频将旋转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);
Run Code Online (Sandbox Code Playgroud)

由于我在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);
Run Code Online (Sandbox Code Playgroud)

这样,在设备上播放时,录制的视频方向正确.然而,在上传到互联网后,视频仍然可以旋转90度.有没有人对此提出建议?非常感谢.

Raf*_*ima 3

某些视频播放器在播放视频时会考虑方向提示。其他玩家则不然。只需尝试在您的 PC 上使用 Windows Media Player、Quick Time 和 Real Player 播放此视频,即可看到差异。
问题可能不是您的代码,而是您用来观看视频的视频播放器。