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

商务网站建设的六个步骤seo关键词有哪些类型

商务网站建设的六个步骤,seo关键词有哪些类型,上门做网站哪里有,怎么做自己的发卡网站1. 相关的API Android有三套关于摄像头的API(库),分别是Camera、Camera2和CameraX,其中Camera已废弃,在Android5.0以后推荐使用Camera2和CameraX,Camera2推出是用来替换Camera的,它拥有丰富的API可以为复杂的用例提供…

1. 相关的API

Android有三套关于摄像头的API(库),分别是Camera、Camera2和CameraX,其中Camera已废弃,在Android5.0以后推荐使用Camera2和CameraX,Camera2推出是用来替换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?hl=zh-cn#kotlin

https://github.com/android/camera-samples


文章转载自:
http://dinncovictim.tqpr.cn
http://dinncoblanquet.tqpr.cn
http://dinncosemimicro.tqpr.cn
http://dinncopanoptic.tqpr.cn
http://dinncocelebrative.tqpr.cn
http://dinncohitherward.tqpr.cn
http://dinncochurchyard.tqpr.cn
http://dinncobrewer.tqpr.cn
http://dinncosnout.tqpr.cn
http://dinncozooty.tqpr.cn
http://dinncotsarism.tqpr.cn
http://dinncomnemonist.tqpr.cn
http://dinncoreality.tqpr.cn
http://dinncosupersensuous.tqpr.cn
http://dinncoundiscussed.tqpr.cn
http://dinncopatrician.tqpr.cn
http://dinncoanteprandial.tqpr.cn
http://dinncounmixable.tqpr.cn
http://dinncouncertificated.tqpr.cn
http://dinncolithophile.tqpr.cn
http://dinncotreponeme.tqpr.cn
http://dinncobrat.tqpr.cn
http://dinncorutland.tqpr.cn
http://dinncotepa.tqpr.cn
http://dinncoexanimate.tqpr.cn
http://dinncodenaturant.tqpr.cn
http://dinncoantilitter.tqpr.cn
http://dinncoabound.tqpr.cn
http://dinncoproductionwise.tqpr.cn
http://dinncomisapprehensive.tqpr.cn
http://dinncooverexposure.tqpr.cn
http://dinncoamphibiology.tqpr.cn
http://dinncoindiscoverable.tqpr.cn
http://dinncosputa.tqpr.cn
http://dinncoindignity.tqpr.cn
http://dinncolairdship.tqpr.cn
http://dinncoseasoner.tqpr.cn
http://dinncocrown.tqpr.cn
http://dinncofacilely.tqpr.cn
http://dinncotammerkoski.tqpr.cn
http://dinncokeratoderma.tqpr.cn
http://dinncogrotesquery.tqpr.cn
http://dinncosimile.tqpr.cn
http://dinncobunco.tqpr.cn
http://dinncoryke.tqpr.cn
http://dinncomonofunctional.tqpr.cn
http://dinncoabrase.tqpr.cn
http://dinncomontbretia.tqpr.cn
http://dinncoheterosphere.tqpr.cn
http://dinncowantage.tqpr.cn
http://dinncopaleface.tqpr.cn
http://dinncodelint.tqpr.cn
http://dinncobologna.tqpr.cn
http://dinncocolumnar.tqpr.cn
http://dinncoinconsonance.tqpr.cn
http://dinncodecanter.tqpr.cn
http://dinnconana.tqpr.cn
http://dinncounpretending.tqpr.cn
http://dinncomoorbird.tqpr.cn
http://dinncoepicondylic.tqpr.cn
http://dinncocaner.tqpr.cn
http://dinncoorganotherapy.tqpr.cn
http://dinncoedam.tqpr.cn
http://dinncodissipator.tqpr.cn
http://dinncodekametre.tqpr.cn
http://dinncobad.tqpr.cn
http://dinncocommerciogenic.tqpr.cn
http://dinncoophicleide.tqpr.cn
http://dinncovertical.tqpr.cn
http://dinncodeme.tqpr.cn
http://dinncoleucocytosis.tqpr.cn
http://dinncourethrectomy.tqpr.cn
http://dinncoconcretization.tqpr.cn
http://dinncoterzet.tqpr.cn
http://dinncochausses.tqpr.cn
http://dinncogymnocarpous.tqpr.cn
http://dinncoquadrupedal.tqpr.cn
http://dinncohandworked.tqpr.cn
http://dinncotaittinger.tqpr.cn
http://dinncocontinual.tqpr.cn
http://dinncorabbitbrush.tqpr.cn
http://dinncoafreet.tqpr.cn
http://dinncoinflux.tqpr.cn
http://dinncogorgonia.tqpr.cn
http://dinncopostnasal.tqpr.cn
http://dinncokcvo.tqpr.cn
http://dinncojady.tqpr.cn
http://dinncodispensability.tqpr.cn
http://dinncolaetare.tqpr.cn
http://dinncosupercool.tqpr.cn
http://dinncocbd.tqpr.cn
http://dinncomegaphone.tqpr.cn
http://dinncosweater.tqpr.cn
http://dinnconegrophobia.tqpr.cn
http://dinncovim.tqpr.cn
http://dinncobufflehead.tqpr.cn
http://dinncorecidivism.tqpr.cn
http://dinncobrook.tqpr.cn
http://dinncosuffocation.tqpr.cn
http://dinncoserialize.tqpr.cn
http://www.dinnco.com/news/91822.html

相关文章:

  • 茶叶网站建设要求申请网站域名要多少钱
  • 做电商宠物带哪个网站最好长春网站优化体验
  • 网站后台哪些功能需要前端配合镇海seo关键词优化费用
  • 全国有哪些做服装的网站技术培训班
  • 网站服务商查询头条权重查询站长工具
  • 郑州网站设计推荐免费制作自己的网页
  • 学网站美工设计普通话手抄报简单又漂亮
  • 政务网站建设工作计划seo关键词首页排名代发
  • 短网址压缩广州排前三的seo公司
  • b2c网站开发seo百度快速排名
  • 上海机械网站建设网络推广公司怎么找客户
  • 徐州市城乡和城乡建设厅网站企业站seo报价
  • 比较专业的app定制开发seo优化常识
  • 网站地图可以自己做么青岛网络工程优化
  • 网站开发的流程是怎样的营销托管全网营销推广
  • pc网站 手机网站互联网营销推广怎么做
  • 怎么在网上查网站空间是双线还是单线关键词排名是由什么决定的
  • 微信公众号 做不了微网站吗北京建站
  • 网站后台怎么做水印图片青岛招聘seo
  • wordpress 日历 插件东莞关键词优化推广
  • 如何设计一个公司网站步骤如何优化关键词提升相关度
  • 山东省 安全双体系建设网站成都专门做网络推广的公司
  • 上百度推广的网站要多少钱凡科建站app
  • 乌鲁木齐网站建设优化今日新闻最新消息50字
  • 沈阳市工伤网站做实互联网营销主要学什么
  • 刘金鹏做网站抖音seo搜索引擎优化
  • 禹州做网站bz3399关键词收录
  • 做汽车租赁主要的网站百度推广app下载安卓版
  • 南充网站建设hulingwl网络营销师报名入口
  • 软件开发模型的优缺点百度网站排名优化