对于android.hardware.Camera
,为了让摄像头输出正确跟踪设备的移动,我们需要将OrientationEventListener
连接到Camera
上的setDisplayOrientation()
方法。这样,当用户旋转设备时,我们可以使相机预览中的"up“与现实世界中的"up”保持同步。这对于绕Y轴旋转设备(即从横向翻转到反向横向或背面)尤其正确。
对于大多数方向的改变,android.hardware.camera2
应用编程接口似乎“只是工作”。但是,对于Y轴旋转(横向->反向横向或反之亦然),相机预览将被反转。
什么等同于在Camera2应用程序接口的Camera
上调用setDisplayOrientation()
,这样我们就可以处理这种情况?
发布于 2018-01-25 23:48:28
使用此CaptureRequest JPEG_ORIENTATION设置显示方向
captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, 90)
发布于 2016-03-15 09:52:34
使用下面的公式来获得设备旋转。
private int getOrientation(int rotation) {
return (ORIENTATIONS.get(rotation) + mSensorOrientation + 270) % 360;
}
SensorOrientation是从指定的字段
characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION)
google engineer建议的解决方案: yaraki
https://github.com/googlesamples/android-Camera2Basic/issues/24
https://stackoverflow.com/questions/33479004
复制相似问题