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

专门查企业的网站晋江网站建设企业

专门查企业的网站,晋江网站建设企业,海搜网做的网站怎么办,软件工程培训相机组件支持相机业务的开发#xff0c;开发者可以通过已开放的接口实现相机硬件的访问、操作和新功能开发#xff0c;最常见的操作如#xff1a;预览、拍照和录像等。 基本概念 拍照 此功能用于拍摄采集照片。 预览 此功能用于在开启相机后#xff0c;在缓冲区内重复采集…相机组件支持相机业务的开发开发者可以通过已开放的接口实现相机硬件的访问、操作和新功能开发最常见的操作如预览、拍照和录像等。 基本概念 拍照 此功能用于拍摄采集照片。 预览 此功能用于在开启相机后在缓冲区内重复采集摄像帧支持在拍照或录像前进行摄像帧预览显示。 录像 此功能用于在开始录像后和结束录像前的时间段内在缓冲区内重复采集摄像帧支持视频录制。 图 1 相机组件架构图 目录 仓目录结构如下 /foundation/multimedia/camera_framework # 相机组件业务代码 ├── frameworks # 框架代码 │ ├── native # 内部接口实现 │ │ ├── camera # 相机框架实现 │ │ └── metadata # 元数据实现 │ └── js # 外部接口实现 │ └── camera_napi # 相机NAPI实现 ├── interfaces # 接口代码 │ ├── inner_api # 内部接口 │ └── kits # 外部接口 ├── LICENSE # 许可证文件 ├── ohos.build # 构建文件 ├── sa_profile # 服务配置文件 └── services # 服务代码├── camera_service # 相机服务实现└── etc # 相机服务配置使用说明 拍照 拍照的步骤: 创建缓冲区消费者端监听器CaptureSurfaceListener以保存图像。 class CaptureSurfaceListener : public IBufferConsumerListener { public:int32_t mode_;sptrSurface surface_;void OnBufferAvailable() override{int32_t flushFence 0;int64_t timestamp 0;OHOS::Rect damage; // initialize the damageOHOS::sptrOHOS::SurfaceBuffer buffer nullptr;surface_-AcquireBuffer(buffer, flushFence, timestamp, damage);if (buffer ! nullptr) {void* addr buffer-GetVirAddr();int32_t size buffer-GetSize();// Save the buffer(addr) to a file.surface_-ReleaseBuffer(buffer, -1);}} };获取相机管理器实例并获取相机对象列表。 sptrCameraManager camManagerObj CameraManager::GetInstance(); std::vectorsptrCameraInfo cameraObjList camManagerObj-GetCameras();使用相机对象创建相机输入来打开相机。 sptrCaptureInput cameraInput camManagerObj-CreateCameraInput(cameraObjList[0]);创建采集会话。 sptrCaptureSession captureSession camManagerObj-CreateCaptureSession();开始配置采集会话。 int32_t result captureSession-BeginConfig();将相机输入添加到采集会话。 result captureSession-AddInput(cameraInput);创建消费者 Surface 并注册监听器以监听缓冲区更新。拍照的宽和高可以配置为所支持的 1280x960 分辨率。 sptrSurface photoSurface Surface::CreateSurfaceAsConsumer(); int32_t photoWidth 1280; int32_t photoHeight 960; photoSurface-SetDefaultWidthAndHeight(photoWidth, photoHeight); photoSurface-SetUserData(CameraManager::surfaceFormat, std::to_string(OHOS_CAMERA_FORMAT_JPEG)); sptrCaptureSurfaceListener capturelistener new(std::nothrow) CaptureSurfaceListener(); capturelistener-mode_ MODE_PHOTO; capturelistener-surface_ photoSurface; photoSurface-RegisterConsumerListener((sptrIBufferConsumerListener )capturelistener);使用上面创建的 Surface 创建拍照输出。 sptrCaptureOutput photoOutput camManagerObj-CreatePhotoOutput(photoSurface);将拍照输出添加到采集会话。 result captureSession-AddOutput(photoOutput);将配置提交到采集会话。 result captureSession-CommitConfig();拍摄照片。 result ((sptrPhotoOutput )photoOutput)-Capture();释放采集会话资源。 captureSession-Release();释放相机输入关闭相机。 cameraInput-Release();开始和停止预览 开始和停止预览的步骤: 获取相机管理器实例并获取相机对象列表。 sptrCameraManager camManagerObj CameraManager::GetInstance(); std::vectorsptrCameraInfo cameraObjList camManagerObj-GetCameras();使用相机对象创建相机输入来打开相机。 sptrCaptureInput cameraInput camManagerObj-CreateCameraInput(cameraObjList[0]);创建采集会话。 sptrCaptureSession captureSession camManagerObj-CreateCaptureSession();开始配置采集会话。 int32_t result captureSession-BeginConfig();将相机输入添加到采集会话。 result captureSession-AddInput(cameraInput);使用从窗口管理器获得的 Surface 创建预览输出用以在显示上渲染。预览的宽和高可以配置为所支持的 640x480 或 832x480 分辨率如果想保存到文件可以按照拍照流程提到步骤创建 Surface注册监听器以监听缓冲区更新。 int32_t previewWidth 640; int32_t previewHeight 480; previewSurface-SetUserData(CameraManager::surfaceFormat, std::to_string(OHOS_CAMERA_FORMAT_YCRCB_420_SP)); sptrCaptureOutput previewOutput camManagerObj-CreateCustomPreviewOutput(previewSurface, previewWidth, previewHeight);将预览输出添加到采集会话。 result captureSession-AddOutput(previewOutput);将配置提交到采集会话。 result captureSession-CommitConfig();开始预览。 result captureSession-Start();需要时停止预览。 result captureSession-Stop();释放采集会话资源。 captureSession-Release();释放相机输入关闭相机。 cameraInput-Release();视频录像 视频录像的步骤: 获取相机管理器实例并获取相机对象列表。 sptrCameraManager camManagerObj CameraManager::GetInstance(); std::vectorsptrCameraInfo cameraObjList camManagerObj-GetCameras();使用相机对象创建相机输入来打开相机。 sptrCaptureInput cameraInput camManagerObj-CreateCameraInput(cameraObjList[0]);创建采集会话。 sptrCaptureSession captureSession camManagerObj-CreateCaptureSession();开始配置采集会话。 int32_t result captureSession-BeginConfig();将相机输入添加到采集会话。 result captureSession-AddInput(cameraInput);通过 Surface 创建一个视频输出来与音频合成并保存到文件Surface 通过 Recoder 获取。如果想仅保存视频缓冲数据到文件里可以按照拍照流程提到步骤创建 Surface注册监听器以监听缓冲区更新。录像的分辨率可以在录制器内配置为所支持的 1280x720 或 640x360 分辨率。 videoSurface-SetUserData(CameraManager::surfaceFormat, std::to_string(OHOS_CAMERA_FORMAT_YCRCB_420_SP)); sptrCaptureOutput videoOutput camManagerObj-CreateVideoOutput(videoSurface);将视频输出添加到采集会话。 result captureSession-AddOutput(videoOutput);将配置提交到采集会话。 result captureSession-CommitConfig();开始视频录制。 result ((sptrVideoOutput )videoOutput)-Start();需要时停止录制。 result ((sptrVideoOutput )videoOutput)-Stop();释放采集会话的资源。 captureSession-Release();释放相机输入关闭相机。 cameraInput-Release();切换多个照相机设备 以下演示如何切换多个照相机设备。最初在采集会话中有一个视频输出video output。如果用户想要切换其他 照相机现存的相机输入和输出需要先移除并加入新的相机输入和输出示例中使用的是photo output。 获取相机管理器实例并获取相机对象列表。 sptrCameraManager camManagerObj CameraManager::GetInstance(); std::vectorsptrCameraInfo cameraObjList camManagerObj-GetCameras();使用相机对象创建相机输入来打开相机。 sptrCaptureInput cameraInput camManagerObj-CreateCameraInput(cameraObjList[0]);创建采集会话。 sptrCaptureSession captureSession camManagerObj-CreateCaptureSession();开始配置采集会话。 int32_t result captureSession-BeginConfig()将相机输入添加到采集会话。 result captureSession-AddInput(cameraInput);通过Surface创建一个视频输出。 sptrCaptureOutput videoOutput camManagerObj-CreateVideoOutput(videoSurface);将视频输出添加到采集会话。 result captureSession-AddOutput(videoOutput);将配置提交到采集会话。 result captureSession-CommitConfig();开始录制视频。 result ((sptrVideoOutput )videoOutput)-Start();需要时停止录制。 result ((sptrVideoOutput )videoOutput)-Stop();重新配置会话并移除相机输入和输出。 int32_t result captureSession-BeginConfig();在新的会话配置中移除相机输入。 int32_t result captureSession-RemoveInput(cameraInput);同样移除相机输出。 int32_t result captureSession-RemoveOutut(videoOutput);创建新的相机输入并把它添加到采集会话。 sptrCaptureInput cameraInput2 camManagerObj-CreateCameraInput(cameraObjList[1]); result captureSession-AddInput(cameraInput2);创建拍照输出成功创建后将拍照输出添加到采集会话。创建消费者 Surface 并注册监听器以监听新的拍照输出缓冲区更新。这个 Surface 用于新创建的拍照输出。 // Get the surface sptrSurface photoSurface Surface::CreateSurfaceAsConsumer(); int32_t photoWidth 1280; int32_t photoHeight 960; photoSurface-SetDefaultWidthAndHeight(photoWidth, photoHeight); photoSurface-SetUserData(CameraManager::surfaceFormat, std::to_string(OHOS_CAMERA_FORMAT_JPEG)); sptrCaptureSurfaceListener capturelistener new(std::nothrow) CaptureSurfaceListener(); capturelistener-mode_ MODE_PHOTO; capturelistener-surface_ photoSurface; photoSurface-RegisterConsumerListener((sptrIBufferConsumerListener )capturelistener);// Create the Photo Output sptrCaptureOutput photoOutput camManagerObj-CreatePhotoOutput(photoSurface);// Add the output to the capture session result captureSession-AddOutput(photoOutput);将配置提交到采集会话。 result captureSession-CommitConfig();释放被移出会话的相机输入。 cameraInput-Release();拍摄照片。 result ((sptrPhotoOutput )photoOutput)-Capture();释放采集会话资源。 captureSession-Release();释放相机输入关闭相机。 cameraInput2-Release();设置闪光灯 拍照和录像前可以在相机输入里设置闪光灯。 在照相中设置闪光灯。 cameraInput-LockForControl(); cameraInput-SetFlashMode(OHOS_CAMERA_FLASH_MODE_OPEN); cameraInput-UnlockForControl();在录像中设置闪光灯。 cameraInput-LockForControl(); cameraInput-SetFlashMode(OHOS_CAMERA_FLASH_MODE_ALWAYS_OPEN); cameraInput-UnlockForControl();关闭闪光灯。 cameraInput-LockForControl(); cameraInput-SetFlashMode(OHOS_CAMERA_FLASH_MODE_CLOSE); cameraInput-UnlockForControl();鸿蒙OpenHarmony知识已更新←前往
http://www.pierceye.com/news/949371/

相关文章:

  • 网站(网店)建设方案范文北京网站搭建服务
  • 建设银行网站怎么设置转账额度百度竞价培训班
  • 八大员继续教育入口做优化网站注意什么
  • 网络空间服务商宁波seo网络推广推荐公众号
  • 网站登录注册做验证码的目地汕头网站建设浩森宇特
  • 做鼻翼整形整形的网站开原网站开发
  • 宿州专业网站建设学做app
  • 宁德商城网站开发设计个人网站在那建设
  • 培训网站建设情况淄博网站排名优化
  • 运营一个网站的成本网络营销第二板斧是什么
  • 企业建站报价手机网站开发开发
  • 足彩网站怎样做推广友情链接官网
  • 十大免费音乐网站网络营销策划推广公司有哪些
  • 免费开源代码网站上海企业建设网站
  • 万家灯火网站建设win7系统做网站服务器
  • 网站直播用php怎么做做家旅游的视频网站好
  • 平台网站建设方案查看自己电脑的网站开发语言
  • 织梦如何做网站地图建设一个网站用什么软件下载
  • 建设银行互联网网站怎么制作小程序软件
  • 做购物网站平台视觉比较好看的网站
  • 网站建设要做什么会计科目网站建设的展望 视频
  • 那种广告式网站怎么做网站为什么具有网络营销价值
  • 包头建站怎么下载网站动态图片
  • 大企业网站建设哪里好qq网站登录入口
  • 手机网站有什么区别是什么wordpress模板2zzt
  • 想做个网站报价蔬菜价格怎么做公司做网站一般多少钱
  • 南宁老牌网站建设公司公司网站搭建教程
  • 网站首页快照更新快常见的电子商务网站网址
  • 外贸网站导航wordpress category 404
  • 漯河市网站建设在线教育网站建设