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

HarmonyOS:相机选择器

一、概述

相机选择器提供相机拍照与录制的能力。应用可选择媒体类型实现拍照和录制的功能。调用此类接口时,应用必须在界面UIAbility中调用,否则无法启动cameraPicker应用。

说明
本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

二、导入模块

import { cameraPicker as picker } from '@kit.CameraKit';
2.1 cameraPicker.pick

pick(context: Context, mediaTypes: Array<PickerMediaType>, pickerProfile: PickerProfile): Promise<PickerResult>

拉起相机选择器,根据媒体类型进入相应的模式。操作结束通过Promise形式获取结果。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Multimedia.Camera.Core

参数:

参数名类型必填说明
contextContext应用上下文。
mediaTypesArray<PickerMediaType>媒体类型。
pickerProfilePickerProfilepickerProfile对象。

返回值:

类型说明
Promise<PickerResult>使用Promise方式获取相机选择器的处理结果。返回值为PickerResult。

示例代码

在这里插入图片描述

import { cameraPicker as picker } from '@kit.CameraKit';
import { camera } from '@kit.CameraKit';
import { common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
let mContext = getContext(this) as common.Context;async function testCameraPicker() {try {let pickerProfile: picker.PickerProfile = {cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK};let pickerResult: picker.PickerResult = await picker.pick(mContext,[picker.PickerMediaType.PHOTO, picker.PickerMediaType.VIDEO], pickerProfile);console.log("相机选择器的处理结果 pickerResult is:" + JSON.stringify(pickerResult));} catch (error) {let err = error as BusinessError;console.error(`相机选择器的处理结果 失败. 错误码 code: ${err.code}`);}
}

三、PickerMediaType

枚举,相机选择器的媒体类型。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Multimedia.Camera.Core

名称说明
PHOTOphoto拍照模式
VIDEOvideo录制模式

四、PickerProfile

相机选择器的配置信息。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Multimedia.Camera.Core

名称类型必填说明
cameraPositioncamera.CameraPosition相机的位置。
saveUristring保存配置信息的uri,默认值请参考文件uri。
videoDurationnumber录制的最大时长(单位:秒)。

五、PickerResult

相机选择器的处理结果。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Multimedia.Camera.Core

名称类型必填说明
resultCodenumber处理的结果,成功返回0,失败返回-1。
resultUristring返回的uri地址。若saveUri为空,resultUri为公共媒体路径。若saveUri不为空且具备写权限,resultUri与saveUri相同。若saveUri不为空且不具备写权限,则无法获取到resultUri。
mediaTypePickerMediaType返回的媒体类型。

相关文章:

  • Halcon 单目相机标定测量
  • [python]opencv从源码编译python版本发现不生成cv2.pyd
  • 游戏引擎学习第309天:用于重叠检测的网格划分
  • 考研408《计算机组成原理》复习笔记,第二章(3)数值数据的运算和存储(定点数计算)
  • 实战教程:基于Vue.js与Django REST Framework的任务管理SPA开发全流程
  • WPF按钮Radius化
  • 如何选择支持AI接入的开发语言与框架
  • .NET ORM开发手册:基于SqlSugar的高效数据访问全攻略
  • 伴随矩阵 -- 代数余子式矩阵的转置
  • .NET外挂系列:8. harmony 的IL编织 Transpiler
  • Docker 镜像标签(Tag)规范与要求
  • AtCoder AT_abc407_d [ABC407D] Domino Covering XOR
  • JavaScript从入门到精通(一)
  • 深入理解Redis线程模型
  • stable diffusion论文解读
  • RabbitMQ 概述
  • MMaDA——开源首个多模态大扩散语言模型
  • 常见实验室器材采购渠道分享
  • 【软考向】Chapter 2 程序设计语言基础知识
  • DAY 35
  • 怀化网站优化公司哪家好/网站查找工具
  • 不会技术怎么做公司网站/店面怎么做位置定位
  • 模版网站商城/成人职业技能培训班
  • 重生做二次元网站/搜索引擎关键词广告
  • 网站开发企业培训/品牌推广策划
  • 精通网站开发阅读/中央突然宣布一个大消息