我想始终水平捕获视频。
如果用户旋转手机,我想水平捕获视频。
为此,我有一个reference,但我想通过定制使其成为我自己的。
我怎样才能顺利实现呢?
最佳答案
尝试这个
public static void setCameraDisplayOrientation(int phoneRotation, int cameraId, Camera camera) {
Camera.CameraInfo info = new Camera.CameraInfo();
info = Camera.getCameraInfo(cameraId, info);
int degrees = 0;
switch (phoneRotation) {
case Surface.ROTATION_0:
degrees = 0;
break;
case Surface.ROTATION_90:
degrees = 90;
break;
case Surface.ROTATION_180:
degrees = 180;
break;
case Surface.ROTATION_270:
degrees = 270;
break;
}
int result;
if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
result = (info.orientation + degrees) % 360;
result = (360 - result) % 360;
} else {
result = (info.orientation - degrees + 360) % 360;
}
camera.setDisplayOrientation(result);
}
当phoneRotation为
int phoneRotation = activity.getWindowManager().getDefaultDisplay().getRotation();
顺便说一下,这个答案最初是从stackoverflow中的某个答案重构而来的。
关于android - 如何在 native Android中制作始终水平捕获的自定义相机?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55823177/