a3b19e87创建于 2024年12月2日历史提交

开发准备

相机应用开发的主要流程包含开发准备、设备输入、会话管理、预览、拍照和录像等。

申请权限

在开发相机应用时,需要先申请相机相关权限,确保应用拥有访问相机硬件及其他功能的权限,需要的权限如下表。在申请权限前,请保证符合权限使用的基本原则

  • 使用相机拍摄前,需要申请ohos.permission.CAMERA相机权限。
  • 当需要使用麦克风同时录制音频时,需要申请ohos.permission.MICROPHONE麦克风权限。
  • 当需要拍摄的图片/视频显示地理位置信息时,需要申请ohos.permission.MEDIA_LOCATION,来访问用户媒体文件中的地理位置信息。

以上权限均需要通过弹窗向用户申请授权,具体申请方式及校验方式,请参考向用户申请授权

说明:

仅应用需要克隆、备份或同步用户公共目录的图片、视频类文件时,可申请ohos.permission.READ_IMAGEVIDEO、ohos.permission.WRITE_IMAGEVIDEO权限来读写音频文件,申请方式请参考申请受控权限

开发指导

当前相机提供了ArkTS和C++两种开发语言的开发指导,如下表所示。

开发流程 ArkTS开发指导 C++开发指导
设备输入 设备输入(ArkTS) 设备输入(C/C++)
会话管理 会话管理(ArkTS) 会话管理(C/C++)
预览 预览(ArkTS) 预览(C/C++)
预览流二次处理 - 预览流二次处理(C/C++)
拍照 拍照(ArkTS) 拍照(C/C++)
分段式拍照 分段式拍照(ArkTS) -
动态照片 动态照片(ArkTS) -
录像 录像(ArkTS) 录像(C/C++)
元数据 元数据(ArkTS) 元数据(C/C++)