# 相机
本示例主要展示了相机的相关功能,使用@ohos.multimedia.camera等接口实现相机的预览、拍照、录像、前后置摄像头切换进行拍照、录像,以及闪光灯、变焦、对焦、曝光等控制类功能。
相机权限 | 麦克风权限 | 图片和视频权限 |
---|---|---|
预览界面 | 设置界面 |
---|---|
使用说明 (因RK3568设备硬件能力,现仅支持验证1、2、3、8、9、12)
entry/src/main
|-- ets
| |-- Application
| |-- |-- MyAbilityStage.ts // AbilityStage的生命周期回调内容
| |-- common
| | |-- CameraConfig.ts // 相机配置信息
| | |-- Constants.ts // 基本参数枚举:纵横比、设备类型、视频帧数
| | |-- DisplayCalculator.ts // 计算界面宽高显示数值
| | |-- GlobalContext.ts // 全局上下文
| | |-- settingItem.ets // 设置栏
| | |-- SettingList.ets // 设置栏跳转配置
| | |-- settingPublicLayout.ets // 设置栏公共区域
| | |-- settingRightLayout.ets // 设置栏右边区域
| |-- Dialog
| | |-- RecodeStopDialog.ets // 停止录像弹框
| | |-- SettingDialog.ets // 相机APP设置界面布局
| |-- Entryability
| | |-- EntryAbility.ts // Ability的生命周期回调内容
| |-- MainAbility
| | |-- MainAbility.ts // 对Ability生命周期管理
| |-- model
| | |-- CameraService.ts // 相机功能实现
| | |-- DateTimeUtil.ts // 日期工具
| | |-- Logger.ts // 日志工具
| |-- pages
| | |-- Index.ets // Ability实现的应用的入口页面,相机APP首页
| `-- views
| |-- CountdownPage.ets // 倒计时UI页面布局
| |-- DividerPage.ets // 分割线UI布局
| |-- FlashingLightPage.ets // 闪光灯UI界面布局
| |-- FocusAreaPage.ets // 对焦区域设置(焦点、侧光点)、单指竖直方向拖动触发曝光补偿设置
| |-- FocusPage.ets // 变焦、对焦、曝光、刻度的图标设置、值的设置
| |-- ModeSwitchPage.ets // 相机功能模式切换,开启预览、拍照、录像
| |-- SlidePage.ets // 滑动滑块UI界面布局
相机功能接口实现在CameraService.ts中,源码参考:CameraService.ts
相机预览、拍照、录像功能、前后置切换功能实现调用侧位于Index.ets,modeSwitchPage.ets,CameraService.ts中,源码参考:Index.ets,ModeSwitchPage.ets,CameraService.ts
相机闪光灯、变焦、对焦、曝光功能实现调用侧位于FlashingLightPage.ets,SlidePage.ets,FocusAreaPage.ets中,源码参考:FlashingLightPage.ets,SlidePage.ets,FocusAreaPage.ets,CameraService.ts
ohos.permission.READ_IMAGEVIDEO
不涉及
如需单独下载本工程,执行如下命令:
git init
git config core.sparsecheckout true
echo code/BasicFeature/Media/Camera_js > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。