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

标签 android autorotate video-recording

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

最佳答案

使用 mMediaRecorder.setOrientationHint(int) 这绝对有效。 您可能需要使用各种方向来获取纵向和横向所有相机的 int 值。

关于android - 录制的视频上传到互联网后旋转 90 度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12098147/

相关文章:

c# - 如何使用 C# 桌面应用程序以 MPEG 或 AVI 文件格式录制网络摄像头视频

C# Message.CreateMessage() Android/Java 等效项

java - 以编程方式从 Appcompat 22.2.0 更改 float 操作按钮的颜色

Java 设置图像资源

android - 自动滚动以重新定位键盘上方的文本输入

iphone - 在自动旋转时重置 UIScrollView 的 zoomScale 属性

ios7 - 在一个 View Controller 中强制横向方向

ios - 像 QuickTime Player 一样从 OS X 应用程序录制 iPhone/iPad 屏幕

php - 当宽度大于 PHP 中的高度时自动旋转图像

Selenium Grid 视频录制