我正面临着使用新camera2 api录制视频的问题。我正在玩项目 https://github.com/googlesamples/android-Camera2Video 使用新的camera2 api演示视频录制。录制效果很好,但由于设备不同,录制的mp4视频的旋转也不同。
Nexus 9结果视频很好,但Nexus 5X没有。
我听说Nexus 5X的相机已经颠倒了。在这种情况下,我会将MediaRecorder标志设置为正确记录,但是......
我的问题是,如何以编程方式识别设备是否已经颠倒了相机?
感谢您的帮助!
答案 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)。