我需要在我的应用程序中切换前置和后置摄像头。我的问题是,我可以打开前置摄像头,也可以打开后置摄像头。但是一旦相机已经打开,我就无法切换预览中显示的内容。作为概念证明,我只是想让我已经打开的后置摄像头预览切换到前置。我正在尝试编写一个看起来像这样的方法 toggleCamera:
public void toggleCamera(){
mCamera.stopPreview();
int frontCameraId = 0;
for (int camNo = 0; camNo < Camera.getNumberOfCameras(); camNo++) {
CameraInfo camInfo = new CameraInfo();
Camera.getCameraInfo(camNo, camInfo);
if (camInfo.facing==(Camera.CameraInfo.CAMERA_FACING_FRONT)) {
frontCameraId = camNo;
}
}
mCamera.release();
mCamera = Camera.open(frontCameraId);
mCamera.startPreview();
Log.d(TAG + "Restarting camera", ""+frontCameraId);
}
现在,发生这种情况时,相机就会冻结。我在几个地方看到我应该设置cameraParameter“camera-id”但这对我不起作用,我发现没有支持这一点的文档。