【发布时间】:2015-11-30 06:12:30
【问题描述】:
我知道我问的问题可能是重复的。 但我尝试了所有的东西,但没有成功。 我尝试了以下方法来切换相机:
numberOfCamera = Camera.getNumberOfCameras();
if(camId == Camera.CameraInfo.CAMERA_FACING_BACK){
camId = Camera.CameraInfo.CAMERA_FACING_FRONT;
Toast.makeText(getApplicationContext(), "BACK TO FRONT" ,
1000).show();
try {
camera.release();
camera = Camera.open(camId);
camera.setPreviewDisplay(surfaceHolder);
camera.startPreview();
previewing = true;
} catch (RuntimeException e) {
} catch (IOException e) {}
}else if(camId == Camera.CameraInfo.CAMERA_FACING_FRONT){
camId = Camera.CameraInfo.CAMERA_FACING_BACK;
Toast.makeText(getApplicationContext(), "FRONT TO BACK" ,
1000).show();
try {
camera.release();
camera = Camera.open(camId);
camera.setPreviewDisplay(surfaceHolder);
camera.startPreview();
} catch (RuntimeException e) {
} catch (IOException e) {}
}
--此代码不起作用..它正在显示 toast..但不切换相机。
【问题讨论】:
-
在您的代码中,为每个异常调用 e.printStackTrace(),并获取日志并将其发布在此处。
-
尝试在
camera.release()之前调用camera.stopPreview() -
@calvinify .. 不工作
-
请将
Log.e("CameraSwitch", "failed to open camera " + camId, e)添加到catch (RuntimeException e),让我们看看运行时异常。
标签: android camera android-camera