您可以尝试在API级别21中添加的较新的android.hardware.camera2软件包,它将替换已弃用的Camera类,并提供对Camera功能的精细控制:
获取CameraManager服务
CameraManager manager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE);
检索设备上可用的摄像机列表
String[] cameraIdList = manager.getCameraIdList();
通过cameraList迭代选择具有所需特性的相机
for(String cameraId:cameraIdList)
{
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
}
使用预览创建相机回调类并仍然捕获请求
private class CameraCallback extends CameraDevice.StateCallback
{
@Override
public void onOpened(CameraDevice camera)
{
CaptureRequest previewRequest = camera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW).build();
CaptureRequest stillCaptureRequest = camera.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE).build();
}
}