android使用Camera调用系统原生的摄像头(前置与后置)
16lz
2021-01-26
1.Camera类
Camera是应用层软件直接使用的类,包含了启动,预览,拍摄以及关闭摄像头等操作的接口。
Camera mCamera = null;
int numberOfCameras = Camera.getNumberOfCameras();// 获取摄像头个数 //遍历摄像头信息 for (int cameraId = 0; cameraId < numberOfCameras; cameraId++) { Camera.CameraInfo cameraInfo = new Camera.CameraInfo(); Camera.getCameraInfo(cameraId, cameraInfo); if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {//前置摄像头 mCamera = Camera.open(cameraId);//打开摄像头 } }
1.Camera.CameraInfo.CAMERA_FACING_FRONT :前置摄像头
2.Camera.CameraInfo.CAMERA_FACING_BACK:后置摄像头
2.方法
- Camera open():打开Camera,返回一个Camera实例。
- Camera open(int cameraId):根据cameraId打开一个指定的Camera,返回一个Camera实例。
- void release():释放资源
- int getNumberOfCameras():获取当前设备支持的Camera硬件个数。
- Parameters getParameters():获取Camera的各项参数设置类。
- void setParameters(Camera.Parameters params):通过params把Camera的各项参数写入到Camera中。
- void setDisplayOrientation(int degrees):摄像预览的旋转度。
- void setPreviewDisplay(SurfaceHolder holder):设置Camera预览的SurfaceHolder。
- void starPreview():开始Camera的预览。
- void stopPreview():停止Camera的预览
- void autoFocus(Camera.AutoFocusCallback cb):自动对焦。
- void takePicture(Camera.ShutterCallback shutter,Camera.PictureCallback raw,Camera.PictureCallback jpeg):拍照。(参数:拍照前的一些设置(如:拍摄快门声);未经处理的yuv数据;JPEG图像数据的回调)
- void lock():锁定Camera硬件,使其他应用无法访问。
- void unlock():解锁Camera硬件,使其他应用可以访问。
/** * 关闭相机,释放资源。 */ private void closeCamera() { if (mCamera != null) { mCamera.release(); mCamera = null; } }
更多相关文章
- android菜鸟学习笔记31----Android使用百度地图API(二)获取地理
- Android(安卓)获取新装程序信息
- android 模糊查找,并标红关键字实现
- ContactsContract获取联系人信息
- 获取Android设备的方向 -- gsensor
- android 手机获取外置SD卡路径
- Android加载图片出现内存溢出攻略
- 12.6 时间与日期
- SD卡文件列表