HarmonyOS:相机选择器

一、概述

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

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

二、导入模块

c 复制代码
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

参数:

参数名 类型 必填 说明
context Context 应用上下文。
mediaTypes Array<PickerMediaType> 媒体类型。
pickerProfile PickerProfile pickerProfile对象。

返回值:

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

示例代码

c 复制代码
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

名称 说明
PHOTO photo 拍照模式
VIDEO video 录制模式

四、PickerProfile

相机选择器的配置信息。

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

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

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

五、PickerResult

相机选择器的处理结果。

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

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

名称 类型 必填 说明
resultCode number 处理的结果,成功返回0,失败返回-1。
resultUri string 返回的uri地址。若saveUri为空,resultUri为公共媒体路径。若saveUri不为空且具备写权限,resultUri与saveUri相同。若saveUri不为空且不具备写权限,则无法获取到resultUri。
mediaType PickerMediaType 返回的媒体类型。
相关推荐
心态还需努力呀几秒前
【鸿蒙 PC 命令行适配】c-ares 在鸿蒙 PC 上的移植与交叉编译实战(可复现指南)
c语言·开源·harmonyos·鸿蒙·openharmony
摘星编程7 分钟前
React Native鸿蒙版:forwardRef组件引用转发
react native·react.js·harmonyos
俺不理解11 分钟前
鸿蒙 Stage Arkts HSP+HAR 的集成
华为·harmonyos·模块化·har·hsp
小雨青年12 分钟前
鸿蒙 HarmonyOS 6 | AI Kit 集成 CANN Kit 异构计算服务
人工智能·华为·harmonyos
前端不太难35 分钟前
HarmonyOS 游戏卡顿,问题不在渲染
华为·状态模式·harmonyos
讯方洋哥37 分钟前
HarmonyOS App开发——一多图片浏览器应用App开发
华为·harmonyos
Miguo94well9 小时前
Flutter框架跨平台鸿蒙开发——海龟汤APP的开发流程
flutter·华为·harmonyos·鸿蒙
讯方洋哥10 小时前
HarmonyOS App开发——购物商城应用App开发
harmonyos
无穷小亮10 小时前
Flutter框架跨平台鸿蒙开发——Excel函数教程APP的开发流程
flutter·华为·excel·harmonyos·鸿蒙
无穷小亮10 小时前
Flutter框架跨平台鸿蒙开发——打字练习APP开发流程
flutter·华为·harmonyos·鸿蒙