从零开发一款相机APP 第六篇: Camera2相机 打开功能实现
本课程内容由 @小驰笔记 出品,欢迎关注,获取更多交流信息~
欢迎访问个人博客:www.xiaochibiji.com`
流程图:
1、获取当前设备支持摄像头颗数
CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);
manager.getCameraIdList();
2、获取到对应摄像头的ID
CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE)for (String cameraId: manager.getCameraIdList()) { mCameraCharacteristics = manager.getCameraCharacteristics(mCameraId);// We don't use a front facing camera in this sample.Integer facing = mCameraCharacteristics.get(CameraCharacteristics.LENS_FACING);if (facing != null && facing == CameraCharacteristics.LENS_FACING_BACK) {continue;}
}
` ``## 3、根据camera id打开摄像头```CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);
manager.openCamera(mCameraId,mStateCallback, mBackgroundHandler);
4、camera状态监听
privatefinal CameraDevice.StateCallback mStateCallback = new CameraDevice.StateCallback() {@Overridepublic void onOpened(@NonNull CameraDevice cameraDevice) {}@Overridepublic void onDisconnected(@NonNull CameraDevice cameraDevice) {}@Overridepublic void onError(@NonNull CameraDevice cameraDevice, int error) {}
};
5、相关api接口
//1) CameraManager,获取camera服务
CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);//2) CameraCharacteristics,获取camera相关参数
CameraCharacteristics mCameraCharacteristics = manager.getCameraCharacteristics(mCameraId);//facing信息
Integer facing = mCameraCharacteristics.get(CameraCharacteristics.LENS_FACING);//stream map 信息
StreamConfigurationMap map = mCameraCharacteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
//3)open camera
manager.openCamera(mCameraId,mStateCallback, mBackgroundHandler);CameraDevice mCameraDevice;
CameraDevice.StateCallback
CaptureRequest.Builder//4)创建session
mCameraDevice.createCaptureSession(Arrays.asList(surface, mImageReader.getSurface()),new CameraCaptureSession.StateCallback() {
}//5) repeatingRequest
CameraCaptureSession mPreviewCaptureSession;
mPreviewCaptureSession.setRepeatingRequest(mPreviewRequest,null, mBackgroundHandler);
6、总结正常流程
推荐阅读:
关于我
今年,做好一件事情
从一件事改变做起
一篇文章带你了解Android 最新Camera框架
深圳上班,
从事Android Camera相关软件开发工作,
记录生活和工作的点滴,
点击关注“小驰笔记”,期待和你相遇~
从零开发一款相机APP 第六篇: Camera2相机 打开功能实现相关推荐
- 从零开发一款相机APP 第七篇: Camera2相机 预览功能实现
本课程内容由 @小驰笔记 出品,欢迎关注,获取更多交流信息~ 欢迎访问个人博客:www.xiaochibiji.com 显示需要借助surface,一般采用surfaceview或者texturevi ...
- 从零开发一款笔记APP——神马笔记WhatsNote
从零开发一款笔记APP--神马笔记WhatsNote 一.主要功能 二.开发过程 三.优质的笔记应用 四.附录 一.主要功能 笔记的主要功能分为三个部分: 管理 目录--多层目录结构 标签--单层结构 ...
- Android Camera:从零开发一款相机APP
从零开发一款相机APP Day 1: 前言 一.Android Camera开发前景: 1)camera相关应用的领域 2)相关岗位介绍: 3)市场招聘介绍: 4)发展前景介绍: 二.学习这门课的重要 ...
- 从零开发一款相机 第五篇:Camera api1实现预览、拍照、录像功能
本课程内容由 @小驰笔记 出品,欢迎关注,获取更多交流信息~ 欢迎访问个人博客:www.xiaochibiji.com 这节课,我们主要讲解如果使用camera api1接口,实现预览.拍照以及录像功 ...
- 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇)
系列文章 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇) 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇) 前言 好久不见,很久没更新博客了,前段时间 ...
- 开发一款外卖App应该具备哪些功能?
手机app的出现改变了每个人的消费习惯,也改变了每个人的日常生活方式,没有遗漏任何东西.你是否还记的你上次中午下班去吃饭的情景?我不记得我上次中午下班出去吃饭是什么时候了,因为我已经习惯了打开外卖Ap ...
- 开发一款旅游APP应包含哪些功能板块呢?
现在生活节奏快.工作高强度往往压的我们喘不过气,甚至已经严重影响我们的身心健康.旅游出行这件事已经出现在越来越多人的生活计划里.随着国民旅游意愿高涨,旅游行业市场增长十分迅猛,面对急剧上升的旅游需求, ...
- 打车类app怎么获取司机位置 开发_详谈开发一款打车APP应用的解决方案
随着移动互联网的发展,使得人们的日常生活越来越便捷,其中改变最大的便是交通出行.正是如此,有些企业于是联想到其中的商机,想要借助于长沙APP开发,打造一款打车APP应用.那么接下来,长沙APP制作创研 ...
- 安卓新手如何学习开发一款游戏APP呢?
毫无疑问,开发一款自己的App对于初学者来说,无论从技术学习,还是找工作,开发手机游戏而言,都是一大利器.那么如何才能快速上手,开发一款属于自己的app.本篇文章仅以自己的一些经验给更多的Androi ...
最新文章
- WIN8、WIN7访问Windows Server 2003服务器的数据库速度很慢、远程速度很慢的解决方法...
- Calling handler.OnEndpointsUpdate报错原因
- python谷歌网页爬虫_python爬虫入门01:教你在 Chrome 浏览器轻松抓包
- Pycharm怎么改背景颜色(超详细)
- 挂了三次科目二的我,竟被一台智能车征服 | 威马W6停车挑战
- 从入门到入土:Python requests代理 proxy配置 HTTP
- python定义变量类型_一、python基础之数据类型与变量
- WCF开发实战系列二:使用IIS发布WCF服务(转)
- ubuntu服务器开放端口_Docker服务开放了这个端口,服务器分分钟变肉机
- ABBYY软件PDF文本审阅操作之批阅文本
- photoshop教程裁剪和拉直照片以改善构图
- MySql安装 Staring the server出错
- 图像处理gamma修正(伽马γ校正)的原理和实现算法
- 计算机三级网络app,App Store 上的“计算机三级网络技术题库”
- PotPlayer 无损截取视频片段
- 用Chrome在电脑上模拟微信、QQ浏览器
- 浙江大华流媒体服务器型号,大华DAHUA网络视频存储服务器DH-EVS7024S-DY产品中心_DAV数字音视工程网...
- 复式记账法-银行业务
- 发那科机器人点位编辑_发那科机器人指令编辑详细介绍
- 硬件经典面试 100 题
热门文章
- 设置Ubuntu 的vim/vi 自动显示行号信息
- Golang HTTPS 忽略证书验证
- 【ARM汇编之 STM/LDM】
- 笔记本电脑是一种中小型计算机,综合分析各种笔记本电脑配置性能,让你选择自己需要的产品...
- 一、Java并发编程之线程、synchronized
- CString::ReverseFind()和CString::Find()区别
- MySQL优化之count优化
- Echarts学习一:制作简单的柱形图、折线图、饼图
- 用python买手机
- asp php flash java,Linux_Flash 和 ASP / PHP 以及 javascript 的交互, 唉,第一次写文章,真是 - phpStudy...