我用这个脚本打开了前置摄像头:
private Camera openFrontFacingCameraGingerbread() {
int cameraCount = 0;
Camera cam = 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 {
cam = Camera.open(camIdx);
} catch (RuntimeException e) {
Log.e(TAG, "Camera failed to open: " + e.getLocalizedMessage());
}
}
}
我认为这个脚本应该选择并打开所有设备上的前置摄像头。但是在我的设备上,脚本只能在带有两个摄像头(前置 + 后置摄像头)的设备上正常工作。在带有一个前置摄像头的其他设备上,我只收到空白屏幕。仅使用一个前置摄像头访问摄像头有什么区别吗?