实现相机基础拍照、录像功能
介绍
本示例基于Camera Kit相机服务,适配预览、预览画面调整(前后置镜头切换、闪光灯等)、动态照片、拍照、录像等核心功能,为开发者提供自定义相机开发的完整参考与实践指导。
效果预览
使用说明:
- 打开应用,授权后展示预览界面。
- 上方按钮功能为:闪光灯设置,动态照片设置。
- 屏幕按钮功能未:切换拍照/录像模式。
- 下方按钮可显示缩略图,拍照/录像,切换前后置摄像头。
工程目录
├──entry/src/main/ets/
│ ├──common
│ │ └──utils
│ │ │ ├──BlurAnimetaUtil.ts
│ │ │ ├──DataTimeUtil.ets
│ │ │ ├──GlobalContext.ets
│ │ │ └──Logger.ts
│ │ └──Constants.ts
│ ├──entryability
│ │ └──EntryAbility.ets // 程序入口类
│ ├──mode
│ │ └──CameraService.ets // 相机启动类
│ ├──pages
│ │ ├──EditPage.ets // 录像预览页面
│ │ └──Index.ets // 入口预览页面
│ └──views
│ ├──FlashingLightComponent.ets // 闪光灯,动图模式按钮视图
│ ├──FocusAreaComponent.ets // 对焦绘制视图
│ ├──FocusComponent.ets // 对焦模式视图
│ ├──ModeComponent.ets // 拍照录像模式切换按钮视图
│ └──SlideComponent.ets // 变焦滑动视图
└──entry/src/main/resources // 应用静态资源目录
具体实现
- 使用Camera Kit相关能力。
- 使用animateToImmediately接口实现闪黑或者模糊等动效的实现。
相关权限
- ohos.permission.CAMERA:用于相机操作。
- ohos.permission.MICROPHONE:麦克风权限,用于录像。
- ohos.permission.WRITE_IMAGEVIDEO:媒体库权限,用于保存图片到图库。
- ohos.permission.READ_IMAGEVIDEO:媒体库权限,用于读取图库图片。
约束与限制
-
本示例仅支持标准系统上运行,支持设备:华为手机。
-
本示例支持API20版本SDK,版本号:6.0.0.47。
-
本示例已支持使DevEco Studio 6.0.0 Release(构建版本:6.0.0.858,构建 2026年4月7日)编译运行。
下载
git init
git config core.sparsecheckout true
echo code/BasicFeature/Ability/AbilityFeature/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master