アプリで前面カメラと背面カメラを切り替える必要があります。私の問題は、前面カメラを開くか、背面カメラを開くことができることです。しかし、カメラが既に開いていると、プレビューに表示されるものを切り替えることはできません。概念実証として、既に開いている背面カメラのプレビューを前面に切り替えようとしています。次のようなメソッド 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" を設定する必要があるいくつかの場所を見てきましたが、これはうまくいきませんでした。これをサポートするドキュメントも見つかりませんでした。