Camera¶
1. 简介¶
2. HDC相关指令¶
hdc指令可以用于查询相机的信息以及连接状态
3. 标准API使用方法¶
备注
本模块为开发者提供一套简单且易于理解的相机服务接口,开发者通过调用接口可以开发相机应用。 应用通过访问和操作相机硬件,实现基础操作,如预览、拍照和录像;还可以通过接口组合完成更多操作,如控制闪光灯和曝光时间、对焦或调焦等。
camera标准接口
@ohos.multimedia.camera (相机管理)(系统接口)
API使用说明
使用camera相关API开发时候,需要先了解熟悉第一个open Harmony工程的创建,相关文档 Hello World应用以及部署
- 在使用一个API时,需要注意以下几点:
API权限说明
API的参数与返回值
API调用错误的时候,参考API错误码和通用错误码
API示例的正确使用
如下图所示,即为标准API文档
官方标准开发文档
4. 社区Demo¶
简介
为了帮助开发者更快速的使用板子开发和学习,我们在gitee上提供了一个WiFi相关的使用示例,每一个项目都是独立的DevEco Studio工程,开发者可以将工程导入到DevEco Studio中即可,通过浏览代码、编译工程、安装和运行应用示例来了解应用示例中涉及API的使用方法。
小技巧
在导入社区Demo工程的时候,需要开发者需要注意本地的开发环境是否与项目的一致,即本地SDK是否与项目SDK一致。
导入模块
在使用Camera标准API的时候,最重要的一步是导入Camera的模块,才能使用Camera相应的API接口。通常模块导入是在文件头导入 导入模块如下: ** import camera from ‘@ohos.multimedia.camera’**
API 介绍
camera.getCameraManager(获取相机管理器实例)
getCameraManager(context: Context): CameraManager
getSupportedCameras(获取支持指定的相机设备对象)
getSupportedCameras(): Array<CameraDevice>
getSupportedOutputCapability(查询相机设备支持的输出能力)
getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability
isCameraMuted(查询相机当前的禁用状态)
isCameraMuted(): boolean
createCameraInput(使用CameraDevice对象创建CameraInput实例)
createCameraInput(camera: CameraDevice): CameraInput
需要权限: ohos.permission.CAMERA
createPreviewOutput(创建预览输出对象)
createPreviewOutput(profile: Profile, surfaceId: string): PreviewOutput
CameraInput.open(打开相机,通过注册回调函数获取状态)
open(callback: AsyncCallback<void>): void
CameraInput.close(关闭相机,通过注册回调函数获取状态)
close(callback: AsyncCallback<void>): void
CameraInput.on(‘error’) (监听CameraInput的错误事件,通过注册回调函数获取结果)
on(type: ‘error’, camera: CameraDevice, callback: ErrorCallback): void
CameraInput.off(‘error’) (注销监听CameraInput的错误事件)
off(type: ‘error’, camera: CameraDevice, callback?: ErrorCallback): void
Demo主要实现源码
- camera.ets
5. 代码编译¶
小技巧
代码编译详细流程可见,Hello World应用以及部署 中的第二部分(构建第一个页面部分内容)


