Camera的控制
5.0以后,Android发布了新的摄像头控制API,称之为camera2
现在讲的是已经deprecated的android.hareware.camera,来控制摄像头
很简单,Camera mCamera = Camera.open()
打开摄像头实例
如果不设置参数,默认打开后摄像头,一般情况参数1是前摄像头
具体的看API文档Android.hardware.camera
然后对其进行控制。
预览
要拍照首先要预览,通常用surfaceView
来预览。
然后需要一个SurfaceHoler
来连接camera和surfaceView.
所有需要SurvaceHolder mHolder = mSurfaceView.getHolder()
来获取实例。
然后对Holder如下操作
mHolder.addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
initCamere();
}
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
}
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
if(mCamera!=null)
{
if(isPreview)mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
}
});
这三个被覆盖的方法顾名思义