在HarmonyOS鸿蒙Next中,使用JavaScript调用摄像头拍照可以通过@ohos.multimedia.camera
模块实现。首先,需要在config.json
中声明相机权限:
{
"module": {
"reqPermissions": [
{
"name": "ohos.permission.CAMERA"
}
]
}
}
然后,在JavaScript代码中,使用以下步骤调用摄像头拍照:
- 导入
@ohos.multimedia.camera
模块:
import camera from '@ohos.multimedia.camera';
- 获取相机管理器实例:
let cameraManager = camera.getCameraManager();
- 获取相机设备列表并选择第一个设备:
let cameraDevices = cameraManager.getSupportedCameras();
let cameraDevice = cameraDevices[0];
- 创建相机输入流:
let cameraInput = cameraManager.createCameraInput(cameraDevice);
- 创建预览输出流:
let previewOutput = cameraManager.createPreviewOutput();
- 创建拍照输出流:
let photoOutput = cameraManager.createPhotoOutput();
- 启动相机会话:
let session = cameraManager.createCaptureSession();
session.beginConfig();
session.addInput(cameraInput);
session.addOutput(previewOutput);
session.addOutput(photoOutput);
session.commitConfig();
session.start();
- 拍照并保存照片:
photoOutput.capture((err, photo) => {
if (err) {
console.error('Failed to capture photo: ' + err.message);
return;
}
console.log('Photo captured successfully: ' + photo.uri);
});
以上代码展示了如何在HarmonyOS鸿蒙Next中使用JavaScript调用摄像头拍照。