Tôi có một phương pháp gọi là switchCamera, tôi đang cố gắng chuyển camera từ trước ra sau chỉ bằng một lần bấm nút, trong một lần chuyển tiếp suôn sẻ. Ứng dụng của tôi bị đóng băng khi tôi gọi phương thức này - tôi biết tôi không làm điều gì đúng. Có ai có thể giúp tôi ngoài này không?Android: Chuyển máy ảnh khi nút bấm
Bất kỳ giúp đỡ được nhiều đánh giá cao.
public void switchCamera(){
int camNum = 0;
camNum = Camera.getNumberOfCameras();
int camBackId = Camera.CameraInfo.CAMERA_FACING_BACK;
int camFrontId = Camera.CameraInfo.CAMERA_FACING_FRONT;
Camera.CameraInfo currentCamInfo = new Camera.CameraInfo();
//if camera is running
if (camera != null){
//and there is more than one camera
if (camNum > 1){
//stop current camera
camera.stopPreview();
camera.setPreviewCallback(null);
//camera.takePicture(null, null, PictureCallback);
camera.release();
camera = null;
//stop surfaceHolder?
if (currentCamInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT){
//switch camera to back camera
camera=Camera.open(camBackId);
}
else{
//switch camera to front camera
camera=Camera.open(camFrontId);
}
//switch camera back on
//specify surface?
try {
camera.setPreviewDisplay(surfaceHolder);
camera.setPreviewCallback((PreviewCallback) this);
camera.startPreview();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
này có thể giúp: http: // stackoverflow. com/questions/6599454/switch-back-front-camera-on-fly – Ben
Bạn có thể dán một số bản ghi vào logcat trước khi nó bị đóng băng không? – StarPinkER