我需要在我的應用程序中前後相機之間切換。我的問題是,我可以打開前置攝像頭,或者我可以打開後置攝像頭。但是一旦相機已經打開,我無法切換預覽中顯示的內容。作爲一個概念證明,我只是試圖讓我已經打開的後置攝像頭預覽切換到正面。 我試圖寫一個方法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」,但是這對我來說並不奏效,而且我沒有發現支持這一點的文檔。