要确保通过Android Camera2 API录制的视频始终以横向保存,可以使用以下解决方法:
mMediaRecorder.setOrientationHint(90);
这将设置MediaRecorder的方向提示为90度,以确保视频始终以横向保存。
int rotation = getWindowManager().getDefaultDisplay().getRotation();
int sensorOrientation = characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION);
int jpegOrientation = (sensorOrientation + rotation) % 360;
captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, jpegOrientation);
这将根据设备的旋转角度和传感器方向设置捕捉请求的JPEG方向,以确保视频始终以横向保存。
int rotation = getWindowManager().getDefaultDisplay().getRotation();
int sensorOrientation = characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION);
int previewRotation = (sensorOrientation - rotation + 360) % 360;
previewRequestBuilder.set(CaptureRequest.JPEG_ORIENTATION, previewRotation);
这将根据设备的旋转角度和传感器方向设置预览请求的JPEG方向,以确保预览始终以横向保存。
请注意,在上述示例中,characteristics
是通过CameraManager获取的当前相机设备的CameraCharacteristics对象。
这些步骤将确保通过Camera2 API录制的视频始终以横向保存。