当前位置: 首页 > news >正文

免费找客源软件网站排名优化方法讲解

免费找客源软件,网站排名优化方法讲解,简答题网站建设步骤,网站建设 有哪些费用1. 相关的API Android有三套关于摄像头的API(库)#xff0c;分别是Camera、Camera2和CameraX#xff0c;其中Camera已废弃#xff0c;在Android5.0以后推荐使用Camera2和CameraX#xff0c;Camera2推出是用来替换Camera的#xff0c;它拥有丰富的API可以为复杂的用例提供…1. 相关的API Android有三套关于摄像头的API(库)分别是Camera、Camera2和CameraX其中Camera已废弃在Android5.0以后推荐使用Camera2和CameraXCamera2推出是用来替换Camera的它拥有丰富的API可以为复杂的用例提供深入的控制功能同样的它使用起来也相对麻烦。而CameraX是在Camera2基础上构建的更高层次的库旨在简化相机操作提供更方便的API降低学习曲线。 2. 选择使用场景 如果对相机的底层控制要求很高需要自定义功能、处理原始图像数据等那么 Camera2是一个更合适的选择如果想要更轻松地实现基本的相机功能降低开发难度CameraX 是一个更适合的选择。 3. CameraX简介 CameraX着重于用例它能支持下面常见用例 预览。使用PreviewView它是一种支持裁剪、缩放和旋转的view相机处于活动状态时图片预览会流式传输到它的surface。图片拍摄。提供自动白平衡、曝光、延迟、闪光灯和对焦等功能支持把图片放到内存缓存区和写文件。图像分析。应用会对每个帧运行analyze()方法可以进行图像处理、视觉或机器学习。可以通过设置阻塞和非阻塞的模式处理分析流水线无法满足CameraX帧率要求。视频拍摄。录制视频流和音频流对其压缩合并后写入磁盘。 CameraX不是本文重点此处不做详细介绍。 4. Camera2 4.1 设计架构 摄像头可以看做是数据源可以向摄像头注册多个业务流摄像头会把每帧的数据同时输出到每个流水线这些流水线可以并行对数据进行处理每个流水线可以有自己的输出格式传入的原始数据会通过每个与流水线相关联的隐士逻辑转换成相应的输出格式。摄像头需要使用CameraCaptureSession接受每个原始帧的帧配置CameraCaptureSession用来记录绑定到摄像头的所有流水线创建会话后无法添加或移除流水线。它会维持一个CaptureRequest队列这些队列会成为活跃配置。CaptureRequest会讲配置添加到队列选择一个或者多个可用的流水线从摄像头接收帧。 4.2 预览 下面我们写一段代码实现摄像头预览功能 // 创建接受相机帧的数据流(输出缓冲区)每一个数据流就是一个Surface对象我们要实现预览功能 // 就用UI中的SurfaceView中的Surface作为数据流这样相机帧数据直接传输到UI显示, // 前面提到过可以同时支持多个数据流并行所以这里使用了list存储我们只预览放一个Surface就行了val targets listOf(fragmentCameraBinding.viewFinder.holder.surface)// 创建CameraCaptureSession, 这是自己封装的函数具体实现是调用的CameraDevice的函数 val session createCaptureSession(camera, targets, cameraHandler)// 创建CaptureRequest,里面设置了接受帧的数据流 val captureRequest camera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW).apply { addTarget(fragmentCameraBinding.viewFinder.holder.surface) }//因为预览需要看到连续的图像所以需要这个请求重复调用 session.setRepeatingRequest(captureRequest.build(), null, cameraHandler) 上面的代码实现了预览功能基本包含了从相机获取数据流的基本功能如果我们想要拍照需要使用ImageReader可以看下面的例子。 4.3 拍照 //创建一个ImageReader val imageReader ImageReader.newInstance(width, height, ImageFormat.JPEG, 3)//设置图片捕获后的回调 imageReader.setOnImageAvailableListener({ reader -val image reader.acquireNextImage() }, imageReaderHandler)//创建Session支持的数据流 val targets listOf(fragmentCameraBinding.viewFinder.holder.surface, imageReader.surface)//创建CameraCaptureSession val session createCaptureSession(camera, targets, cameraHandler)//创建CaptureRequest val captureRequest session.device.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE).apply { addTarget(imageReader.surface) }//单次请求 session.capture(captureRequest.build(), null, handler) 因为拍照只需要捕获一次图像就行了所以这里直接调用的capture()函数而上面预览需要持续捕获调用的是setRepeatingRequest()至于想要预览时支持点击拍照可以先调用重复捕获在调用单次捕获系统是支持交错捕获请求的。 4.4 视频 按照当前的框架录制视频也容易多了只需要添加一个新的数据流用来接收图像帧并且保存为视频文件就行了为了实现这个功能系统提供了两个比较好用的类MediaRecorder和MediaCodec。实际上MediaRecorder底层也是使用MediaCodec简单点说就是MediaRecorder简化了录制音视频的流程但是定制性相对较低如果需要对音视频处理进行定制可以使用MediaCodec。下面是简化后使用MediaRecorder的代码 TODO https://developer.android.com/training/camera2/capture-sessions-requests?hlzh-cn#kotlin https://github.com/android/camera-samples
http://www.pierceye.com/news/793109/

相关文章:

  • 网站专题教程最吸引人的营销广告词
  • 瑞安网站网站建设如何推广自己的店铺
  • 建设网站花都水泥公司网站建设
  • asp网站怎么下载源码农业做的好的网站
  • 导购网站怎么做视频教学网页设计与制作教程第5版
  • 建设部施工安全管理网站网站建设公司如何
  • 企业商城建站公司网站页面加密
  • 昆山教育云平台网站建设软件工程师考试报名
  • ps做网站大小尺寸大连开发区商场
  • 化妆品网站建设网站右键禁止
  • wordpress 没有样式表网站如何免费做SEO优化
  • 青岛有没有专门做淘宝网站中国建设人才网站
  • 网站移动端是什么问题吗怎样自己做免费的网站
  • 做网站没有做退钱宁波品牌策划公司
  • 网站备案 不关站家乡网页制作模板
  • 成都网站建设企业 排名网络营销推广方案ppt
  • 阳西住房和城乡规划建设局网站微信公众号商城制作
  • 石家庄自助建站软件邯郸做紧固件网站
  • 做川菜的网站动画制作网页
  • 网站建设的英文域名注册需要什么条件
  • wordpress管理系统贵州seo和网络推广
  • 网站第二次备案设计方案审核合格后由谁签字确认
  • 网页设计和网站编辑wordpress 页面瀑布流
  • 福田网站建设龙岗网站建设ie的常用网站
  • 网站推广途径和推广要点地产网站方案
  • 用asp做的网站2021互联网公司100强
  • 网站运营无经验可以做吗垂直类网站怎么做
  • 中国站长网站wordpress开启xmlrpc
  • 网站建设的好处建设工程质量管理条例网站
  • asp.net网站建设教程做电影网站 需要进那些群