如何在鸿蒙系统中使用相机选择器拍摄照片,并获取拍摄结果的URI?

我正在开发一个鸿蒙应用,需要在应用中使用相机选择器来拍摄照片。我想了解如何在鸿蒙系统中调用相机选择器,并在拍摄完成后获取照片的URI。请问,我应该如何实现这一功能?
能否帮我提供一个示例代码来展示整个流程?

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

阅读 91
1 个回答

据我所知,在鸿蒙系统中,您可以使用cameraPicker模块来调用相机选择器拍摄照片,并通过Promise获取拍摄结果的URI。以下是一个示例代码,展示了如何使用cameraPicker拍摄照片并获取URI:

import { cameraPicker as picker } from '@kit.CameraKit';
import { common } from '@kit.AbilityKit';

async function takePhoto() {
    const context = getContext(this) as common.Context;
    const mediaTypes = [picker.PickerMediaType.PHOTO]; // 指定媒体类型为照片
    const pickerProfile: picker.PickerProfile = {
        cameraPosition: picker.CameraPosition.CAMERA_POSITION_BACK // 可选:指定使用后置摄像头
    };

    try {
        const result = await picker.pick(context, mediaTypes, pickerProfile);
        if (result.resultCode === 0) {
            console.log('Photo taken successfully, URI:', result.resultUri);
            // 在这里处理拍摄结果的URI,比如显示照片或保存到指定路径
        } else {
            console.error('Failed to take photo, error code:', result.resultCode);
        }
    } catch (error) {
        console.error('An error occurred while picking photo:', error);
    }
}

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
HarmonyOS
子站问答
访问
宣传栏