我正在使用以下代码在设备上安装前置摄像头
private Camera getFrontCamera() {
int cameraCount = 0;
Camera camera = null;
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
cameraCount = Camera.getNumberOfCameras();
for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
Camera.getCameraInfo(camIdx, cameraInfo);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
try {
camera = Camera.open(camIdx);
camera.setDisplayOrientation(90);
} catch (RuntimeException e) {
e.printStackTrace();
}
}
}
return camera;
}
一切正常,但是当我在SurfaceView
中预览相机时,在不同手机上的旋转方式会不同。
当我使用Samsung s7
在setDisplayOrientation(90)
上运行代码时,相机预览应该是应该的,但是在Xiaomi
上,手机预览会旋转180度。
当我在Xiaomi mi5
上运行setDisplayOrientation(270)
并在Xiaomi
上运行代码时,Samsung
旋转了180度。
有人可以告诉我如何使其在所有设备上都能正常工作吗?
谢谢