使用
打开相机时Camera cam = Camera.open();
或
Camera cam = Camera.open(number);
我如何获得这是前置或后置摄像头的信息?有些设备可能同时拥有两种,有些只有一种。
答案 0 :(得分:2)
Camera.CameraInfo
。
对于较新的版本,请参阅CameraCharacteristics.LENS_FACING
。有关详细信息,请参阅this answer。
首先,您可能需要查看Camera类的参考。
方法getNumberOfCameras
(此设备只有一个摄像头或两者都有?)和getCameraInfo
(https://developer.android.com/reference/android/hardware/Camera.CameraInfo.html)将为您提供所需的确切信息。
有一个使用这两种方法的例子:
private int findFrontFacingCamera() {
int cameraId = -1;
// Search for the front facing camera
int numberOfCameras = Camera.getNumberOfCameras();
for (int i = 0; i < numberOfCameras; i++) {
CameraInfo info = new CameraInfo();
Camera.getCameraInfo(i, info);
if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
Log.d(DEBUG_TAG, "Camera found");
cameraId = i;
break;
}
}
return cameraId;
}
答案 1 :(得分:0)
首先,您应该检查您的设备是否支持相机,如果支持相机,则获取设备上可用相机的数量。
<pre>CameraInfo cameraInfo = new CameraInfo();<br/>
for (int i = 0; i < numberOfCameras; i++) {
Camera.getCameraInfo(i, cameraInfo);
if (cameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT) {
}
}
你可以用这样的东西知道哪个相机是开着的。
希望这会对你有帮助..