Nexus 5X使用MediaRecorder和camera2记录上下颠倒的视频

时间:2016-01-16 21:02:34

标签: android video-capture android-mediarecorder android-camera2

我正面临着使用新camera2 api录制视频的问题。我正在玩项目 https://github.com/googlesamples/android-Camera2Video 使用新的camera2 api演示视频录制。录制效果很好,但由于设备不同,录制的mp4视频的旋转也不同。

Nexus 9结果视频很好,但Nexus 5X没有。

我听说Nexus 5X的相机已经颠倒了。在这种情况下,我会将MediaRecorder标志设置为正确记录,但是......

我的问题是,如何以编程方式识别设备是否已经颠倒了相机?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我找到了解决方案......

CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);
String cameraId = manager.getCameraIdList()[0];
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
int sensorOrientation = characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION);

sensorOrientation值:默认摄像头方向曾经是90度。对于Nexus 5X,它是270度。

答案 1 :(得分:0)

获得定向后 int sensorOrientation = characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION);

你可以使用 MediarRecorder中的setOrientationHint(sensorOrientation)。