1、需要在Androidmanifest.xml中设置
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2、为了使得camera preview 中场景的角度和实际物理世界的角度一致,需要设置:
// 设置屏幕方向,否则预览的结果跟现实会有90度的偏差
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
3、为了使得预览的场景不随屏幕的旋转而拉伸或扭曲,需要设置:
mParameters.setPreviewSize(width, height);
否则,当屏幕旋转的时候,会改变预览内容的尺寸比例
4、出现fail to connect to camera service的原因可能有:
1)在Androidmanifest.xml中设置uses-permission
2)没有在surfaceDestroyed中释放资源
if (mCamera != null)
{
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
3)拍完照片之后,照片存储有问题,导致系统崩溃,这个时候需要重启真机。ps:当慢慢的点击拍照的时候,就不会出现崩溃,当快速的点击拍照的时候会导致崩溃,不知道什么原因。
5、camera.setParameters失败
当删除mParameters.setPictureSize(width,height);时,就不会出现这个问题,具体原因不详。
6、camera设置变焦:
Parameters params = mCamera.getParameters(); final int MAX = params.getMaxZoom();
if(MAX==0)return; int zoomValue = params.getZoom(); zoomValue += 5; params.setZoom(zoomValue); mCamera.setParameters(params);
}