Мне нужно переключить между передней и задней камерами в моем приложении. Моя проблема в том, что я могу открыть переднюю камеру, или я могу открыть заднюю камеру. Но я не могу переключить то, что показано в предварительном просмотре, как только камера уже открыта. Как доказательство концепции, я просто пытаюсь получить мой уже открытый задний просмотр камеры, чтобы переключиться на лицевую сторону. Я пытаюсь написать метод 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», но это не сработало для меня, и я не нашел документации, подтверждающей это.