鸿蒙开发接口媒体:【@ohos.multimedia.camera (相机管理)】

 相机管理

说明:
开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import camera from '@ohos.multimedia.camera';

camera.getCameraManager

getCameraManager(context: Context, callback: AsyncCallback<CameraManager>): void

获取相机管理器实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
contextContext应用上下文。
callbackAsyncCallback<[CameraManager]>回调函数,用于获取相机管理器实例。

示例:

camera.getCameraManager(context, (err, cameraManager) => {
    if (err) {
        console.error('Failed to get the CameraManager instance ${err.message}');
        return;
    }
    console.log('Callback returned with the CameraManager instance');
});

camera.getCameraManager

getCameraManager(context: Context): Promise<CameraManager>

获取相机管理器实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
contextContext应用上下文。

返回值:

类型说明
Promise<[CameraManager]>使用Promise的方式获取一个相机管理器实例。

示例:

camera.getCameraManager(context).then((cameraManager) => {
    console.log('Promise returned with the CameraManager instance.');
})

CameraStatus

枚举,相机状态。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称说明
CAMERA_STATUS_APPEAR0相机存在。
CAMERA_STATUS_DISAPPEAR1相机不存在。
CAMERA_STATUS_AVAILABLE2相机就绪。
CAMERA_STATUS_UNAVAILABLE3相机未就绪。

CameraPosition

枚举,相机方向。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称说明
CAMERA_POSITION_UNSPECIFIED0未指定方向相机。
CAMERA_POSITION_BACK1后置相机。
CAMERA_POSITION_FRONT2前置相机。

CameraType

枚举,相机类型。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称说明
CAMERA_TYPE_UNSPECIFIED0未指定相机类型。
CAMERA_TYPE_WIDE_ANGLE1广角相机。
CAMERA_TYPE_ULTRA_WIDE2超级广角相机。
CAMERA_TYPE_TELEPHOTO3长焦相机。
CAMERA_TYPE_TRUE_DEPTH4深度相机。

ConnectionType

枚举,相机连接类型。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称说明
CAMERA_CONNECTION_BUILT_IN0内置相机。
CAMERA_CONNECTION_USB_PLUGIN1外置USB相机。
CAMERA_CONNECTION_REMOTE2分布式相机。

Size

用于表示相机预览、照片、视频支持的尺寸大小。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称类型可读可写说明
heightstring图像的高度。
widthnumber图像的宽度。

CameraManager

相机管理器类,使用前需要通过getCameraManager获取相机管理实例。

getCameras

getCameras(callback: AsyncCallback<Array<Camera>>): void

异步获取设备支持的相机列表,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<Array<[Camera]>>使用callback方式获取支持的相机列表。

示例:

cameraManager.getCameras((err, cameras) => {
    if (err) {
        console.error('Failed to get the cameras. ${err.message}');
        return;
    }
    console.log('Callback returned with an array of supported cameras: ' + cameras.length);
})

getCameras

getCameras(): Promise<Array<Camera>>

异步获取设备支持的相机列表,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<Array<[Camera]>>使用promise获取支持相机列表。

示例:

cameraManager.getCameras().then((cameraArray) => {
    console.log('Promise returned with an array of supported cameras: ' + cameraArray.length);
})

createCameraInput

createCameraInput(cameraId: string, callback: AsyncCallback<CameraInput>): void

使用相机ID异步创建CameraInput实例,通过注册回调函数获取结果。

需要权限:  ohos.permission.CAMERA

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
cameraIdstring指定相机ID。
callbackAsyncCallback<[CameraInput]>回调函数,用于获取CameraInput实例。

示例:

cameraManager.createCameraInput(cameraId, (err, cameraInput) => {
    if (err) {
        console.error('Failed to create the CameraInput instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the CameraInput instance.');
})

createCameraInput

createCameraInput(cameraId: string): Promise<CameraInput>

使用相机ID异步创建CameraInput实例,通过Promise获取结果。

需要权限:  ohos.permission.CAMERA

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
cameraIdstring指定相机ID。

返回值:

类型说明
Promise<[CameraInput]>使用Promise的方式获取CameraInput的实例。

示例:

cameraManager.createCameraInput(cameraId).then((cameraInput) => {
    console.log('Promise returned with the CameraInput instance');
})

createCameraInput

createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback<CameraInput>): void

使用相机位置和相机类型异步创建CameraInput实例,通过注册回调函数获取结果。

需要权限:  ohos.permission.CAMERA

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
position[CameraPosition]相机位置。
type[CameraType]相机类型。
callbackAsyncCallback<[CameraInput]>回调函数,用于获取CameraInput实例。

示例:

cameraManager.createCameraInput(camera.CameraPosition.CAMERA_POSITION_BACK, camera.CameraType.CAMERA_TYPE_UNSPECIFIED, (err, cameraInput) => {
    if (err) {
        console.error('Failed to create the CameraInput instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the CameraInput instance');
})

createCameraInput

createCameraInput(position: CameraPosition, type: CameraType): Promise<CameraInput>

使用相机位置和相机类型异步创建CameraInput实例,通过Promise获取结果。

需要权限:  ohos.permission.CAMERA

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
position[CameraPosition]相机位置。
type[CameraType]相机类型。

返回值:

类型说明
Promise<[CameraInput]>使用Promise的方式获取CameraInput的实例。

示例:

cameraManager.createCameraInput(camera.CameraPosition.CAMERA_POSITION_BACK, camera.CameraType.CAMERA_TYPE_UNSPECIFIED).then((cameraInput) => {
    console.log('Promise returned with the CameraInput instance.');
})

on('cameraStatus')

on(type: 'cameraStatus', callback: AsyncCallback<CameraStatusInfo>): void

监听相机的状态变化,通过注册回调函数获取相机的状态变化。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'cameraStatus',即相机状态变化事件。
callbackAsyncCallback<[CameraStatusInfo]>回调函数,用于获取相机状态变化信息。

示例:

cameraManager.on('cameraStatus', (err, cameraStatusInfo) => {
    if (err) {
        console.error('Failed to get cameraStatus callback. ${err.message}');
        return;
    }
    console.log('camera : ' + cameraStatusInfo.camera.cameraId);
    console.log('status: ' + cameraStatusInfo.status);
})

Camera

调用[camera.getCameraManager]后,将返回Camera实例,包括相机ID、位置、类型、连接类型等相机相关的元数据。

系统能力:  SystemCapability.Multimedia.Camera.Core。

名称类型只读说明
cameraIdstring相机ID。
cameraPosition[CameraPosition]相机位置。
cameraType[CameraType]相机类型。
connectionType[ConnectionType]相机连接类型。

示例:

async function getCameraInfo("cameraId") {
    var cameraManager = await camera.getCameraManager();
    var cameras = await cameraManager.getCameras();
    var cameraObj = cameras[0];
    var cameraId = cameraObj.cameraId;
    var cameraPosition = cameraObj.cameraPosition;
    var cameraType = cameraObj.cameraType;
    var connectionType = cameraObj.connectionType;
}

CameraStatusInfo

相机管理器回调返回的接口实例,表示相机状态信息。

系统能力:  SystemCapability.Multimedia.Camera.Core。

名称类型说明
camera[Camera]相机信息。
status[CameraStatus]相机状态。

CameraInput

相机输入类。在使用该类的方法前,需要先构建一个CameraInput实例。

getCameraId

getCameraId(callback: AsyncCallback<string>): void

异步获取该CameraInput实例的相机ID,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<string>回调函数,用于获取相机ID。

示例:

cameraInput.getCameraId((err, cameraId) => {
    if (err) {
        console.error('Failed to get the camera ID. ${err.message}');
        return;
    }
    console.log('Callback returned with the camera ID: ' + cameraId);
})

getCameraId

getCameraId(): Promise<string>

异步获取该CameraInput实例的相机ID,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<string>使用Promise的方式获取相机ID。

示例:

cameraInput.getCameraId().then((cameraId) => {
    console.log('Promise returned with the camera ID:' + cameraId);
})

hasFlash

hasFlash(callback: AsyncCallback<boolean>): void

判断设备是否支持闪光灯,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<boolean>回调函数,返回true表示设备支持闪光灯。

示例:

cameraInput.hasFlash((err, status) => {
    if (err) {
        console.error('Failed to check whether the device has flash light. ${err.message}');
        return;
    }
    console.log('Callback returned with flash light support status: ' + status);
})

hasFlash

hasFlash(): Promise<boolean>

判断设备是否支持闪光灯,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<boolean>使用Promise的方式获取结果,返回true表示设备支持闪光灯。

示例:

cameraInput.hasFlash().then((status) => {
    console.log('Promise returned with the flash light support status:' + status);
})

isFlashModeSupported

isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback<boolean>): void

判断设备是否支持指定闪光灯模式,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
flashMode[FlashMode]指定闪光灯模式。
callbackAsyncCallback<boolean>回调函数,返回true表示支持该闪光灯模式。

示例:

cameraInput.isFlashModeSupported(camera.FlashMode.FLASH_MODE_AUTO, (err, status) => {
    if (err) {
        console.error('Failed to check whether the flash mode is supported. ${err.message}');
        return;
    }
    console.log('Callback returned with the flash mode support status: ' + status);
})

isFlashModeSupported

isFlashModeSupported(flashMode: FlashMode): Promise<boolean>

判断设备是否支持指定闪光灯模式,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
flashMode[FlashMode]指定闪光灯模式。

返回值:

类型说明
Promise<boolean>使用Promise的方式获取结果,返回true表示设备支持该闪光灯模式。

示例:

cameraInput.isFlashModeSupported(camera.FlashMode.FLASH_MODE_AUTO).then((status) => {
    console.log('Promise returned with flash mode support status.' + status);
})

setFlashMode

setFlashMode(flashMode: FlashMode, callback: AsyncCallback<void>): void

设置闪光灯模式,通过注册回调函数获取结果。

进行设置之前,需要先检查:

  1. 设备是否支持闪光灯,可使用方法[hasFlash]。
  2. 设备是否支持指定的闪光灯模式,可使用方法[isFlashModeSupported]。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
flashMode[FlashMode]指定闪光灯模式。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

cameraInput.setFlashMode(camera.FlashMode.FLASH_MODE_AUTO, (err) => {
    if (err) {
        console.error('Failed to set the flash mode  ${err.message}');
        return;
    }
    console.log('Callback returned with the successful execution of setFlashMode.');
})

setFlashMode

setFlashMode(flashMode: FlashMode): Promise<void>

设置闪光灯模式,通过Promise获取结果。

进行设置之前,需要先检查:

  1. 设备是否支持闪光灯,可使用方法[hasFlash]。
  2. 设备是否支持指定的闪光灯模式。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
flashMode[FlashMode]指定闪光灯模式。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

cameraInput.setFlashMode(camera.FlashMode.FLASH_MODE_AUTO).then(() => {
    console.log('Promise returned with the successful execution of setFlashMode.');
})

getFlashMode

getFlashMode(callback: AsyncCallback<FlashMode>): void

获取当前设备的闪光灯模式,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<[FlashMode]>回调函数,用于获取当前设备的闪光灯模式。

示例:

cameraInput.getFlashMode((err, flashMode) => {
    if (err) {
        console.error('Failed to get the flash mode  ${err.message}');
        return;
    }
    console.log('Callback returned with current flash mode: ' + flashMode);
})

getFlashMode

getFlashMode(): Promise<FlashMode>

获取当前设备的闪光灯模式,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<[FlashMode]>使用Promise的方式获取当前的闪光灯模式。

示例:

cameraInput.getFlashMode().then((flashMode) => {
    console.log('Promise returned with current flash mode : ' + flashMode);
})

isFocusModeSupported

isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback<boolean>): void

判断设备是否支持指定的焦距模式,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
afMode[FocusMode]指定的焦距模式。
callbackAsyncCallback<boolean>回调函数,返回true表示支持该焦距模式。

示例:

cameraInput.isFocusModeSupported(camera.FocusMode.FOCUS_MODE_AUTO, (err, status) => {
    if (err) {
        console.error('Failed to check whether the focus mode is supported. ${err.message}');
        return;
    }
    console.log('Callback returned with the focus mode support status: ' + status);
})

isFocusModeSupported

isFocusModeSupported(afMode: FocusMode): Promise<boolean>

判断设备是否支持指定的焦距模式,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
afMode[FocusMode]指定的焦距模式。

返回值:

类型说明
Promise<boolean>使用Promise的方式获取结果,返回true表示设备支持该焦距模式。

示例:

cameraInput.isFocusModeSupported(camera.FocusMode.FOCUS_MODE_AUTO).then((status) => {
    console.log('Promise returned with focus mode support status.' + status);
})

setFocusMode

setFocusMode(afMode: FocusMode, callback: AsyncCallback<void>): void

设置焦距模式,通过注册回调函数获取结果。

进行设置之前,需要先检查设备是否支持指定的焦距模式。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
afMode[FocusMode]指定的焦距模式。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

cameraInput.setFocusMode(camera.FocusMode.FOCUS_MODE_AUTO, (err) => {
    if (err) {
        console.error('Failed to set the focus mode  ${err.message}');
        return;
    }
    console.log('Callback returned with the successful execution of setFocusMode.');
})

setFocusMode

setFocusMode(afMode: FocusMode): Promise<void>

设置焦距模式,通过Promise获取结果。

进行设置之前,需要先检查设备是否支持指定的焦距模式,可使用方法[isFocusModeSupported]。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
afMode[FocusMode]指定的焦距模式。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

cameraInput.setFocusMode(camera.FocusMode.FOCUS_MODE_AUTO).then(() => {
    console.log('Promise returned with the successful execution of setFocusMode.');
})

getFocusMode

getFocusMode(callback: AsyncCallback<FocusMode>): void

获取当前设备的焦距模式,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<[FocusMode]>回调函数,用于获取当前设备的焦距模式。

示例:

cameraInput.getFocusMode((err, afMode) => {
    if (err) {
        console.error('Failed to get the focus mode  ${err.message}');
        return;
    }
    console.log('Callback returned with current focus mode: ' + afMode);
})

getFocusMode

getFocusMode(): Promise<FocusMode>

获取当前设备的焦距模式,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<FocusMode>使用Promise的方式获取当前的焦距模式。

示例:

cameraInput.getFocusMode().then((afMode) => {
    console.log('Promise returned with current focus mode : ' + afMode);
})

getZoomRatioRange

getZoomRatioRange(callback: AsyncCallback<Array<number>>): void

获取可变焦距比范围,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<Array<number>>回调函数,用于获取结果。

示例:

cameraInput.getZoomRatioRange((err, zoomRatioRange) => {
    if (err) {
        console.error('Failed to get the zoom ratio range. ${err.message}');
        return;
    }
    console.log('Callback returned with zoom ratio range: ' + zoomRatioRange.length);
})

getZoomRatioRange

getZoomRatioRange(): Promise<Array<number>>

获取可变焦距比范围,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<Array<number>>使用Promise的方式获取当前的可变焦距比范围。

示例:

cameraInput.getZoomRatioRange().then((zoomRatioRange) => {
    console.log('Promise returned with zoom ratio range: ' + zoomRatioRange.length);
})

setZoomRatio

setZoomRatio(zoomRatio: number, callback: AsyncCallback<void>): void

设置可变焦距比,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
zoomRationumber可变焦距比。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

cameraInput.setZoomRatio(1, (err) => {
    if (err) {
        console.error('Failed to set the zoom ratio value ${err.message}');
        return;
    }
    console.log('Callback returned with the successful execution of setZoomRatio.');
})

setZoomRatio

setZoomRatio(zoomRatio: number): Promise<void>

设置可变焦距比,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
zoomRationumber可变焦距比。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

cameraInput.setZoomRatio(1).then(() => {
    console.log('Promise returned with the successful execution of setZoomRatio.');
})

getZoomRatio

getZoomRatio(callback: AsyncCallback<number>): void

获取当前的可变焦距比,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<number>回调函数,用于获取结果。

示例:

cameraInput.getZoomRatio((err, zoomRatio) => {
    if (err) {
        console.error('Failed to get the zoom ratio ${err.message}');
        return;
    }
    console.log('Callback returned with current zoom ratio: ' + zoomRatio);
})

getZoomRatio

getZoomRatio(): Promise<number>

获取当前的可变焦距比,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<number>使用Promise的方式获取结果。

示例:

cameraInput.getZoomRatio().then((zoomRatio) => {
    console.log('Promise returned with current zoom ratio : ' + zoomRatio);
})

release

release(callback: AsyncCallback<void>): void

释放相机实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

cameraInput.release((err) => {
    if (err) {
        console.error('Failed to release the CameraInput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the CameraInput instance is released successfully.');
});

release

release(): Promise<void>

释放相机实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

cameraInput.release().then(() => {
    console.log('Promise returned to indicate that the CameraInput instance is released successfully.');
})

on('focusStateChange')

on(type: 'focusStateChange', callback: AsyncCallback<FocusState>): void

监听焦距的状态变化,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'focusStateChange',即焦距状态变化事件。
callbackAsyncCallback<[FocusState]>回调函数,用于获取焦距状态。

示例:

cameraInput.on('focusStateChange', (focusState) => {
    console.log('Focus state  : ' + focusState);
})

on('error')

on(type: 'error', callback: ErrorCallback<CameraInputError>): void

监听CameraInput的错误事件,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'error',即CameraInput错误事件。
callbackErrorCallback<[CameraInputError]>回调函数,用于获取结果。

示例:

cameraInput.on('error', (cameraInputError) => {
    console.log('Camera input error code: ' + cameraInputError.code);
})

CameraInputErrorCode

枚举,CameraInput的错误码。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称说明
ERROR_UNKNOWN-1未知错误。

CameraInputError

CameraInput错误对象。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称类型说明
code[CameraInputErrorCode]CameraInput中的错误码。

FlashMode

枚举,闪光灯模式。

系统能力:  SystemCapability.Multimedia.Camera.Core。

名称说明
FLASH_MODE_CLOSE0闪光灯关闭。
FLASH_MODE_OPEN1闪光灯开启。
FLASH_MODE_AUTO2自动闪光灯。
FLASH_MODE_ALWAYS_OPEN3闪光灯常亮。

FocusMode

枚举,焦距模式。

系统能力:  SystemCapability.Multimedia.Camera.Core。

名称说明
FOCUS_MODE_MANUAL0手动变焦模式。
FOCUS_MODE_CONTINUOUS_AUTO1连续自动变焦模式。
FOCUS_MODE_AUTO2自动变焦模式。
FOCUS_MODE_LOCKED3定焦模式。

FocusState

枚举,焦距状态。

系统能力:  SystemCapability.Multimedia.Camera.Core。

名称说明
FOCUS_STATE_SCAN0扫描状态。
FOCUS_STATE_FOCUSED1相机已对焦。
FOCUS_STATE_UNFOCUSED2相机未对焦。

camera.createCaptureSession

createCaptureSession(context: Context, callback: AsyncCallback<CaptureSession>): void

获取CaptureSession实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
contextContext应用上下文。
callbackAsyncCallback<[CaptureSession]>回调函数,用于获取CaptureSession实例。

示例:

camera.createCaptureSession((context), (err, captureSession) => {
    if (err) {
        console.error('Failed to create the CaptureSession instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the CaptureSession instance.' + captureSession);
});

camera.createCaptureSession

createCaptureSession(context: Context): Promise<CaptureSession>;

获取CaptureSession实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
contextContext应用上下文。

返回值:

类型说明
Promise<[CaptureSession]>使用Promise的方式获取CaptureSession实例。

示例:

camera.createCaptureSession(context).then((captureSession) => {
    console.log('Promise returned with the CaptureSession instance');
})

CaptureSession

拍照会话类。

beginConfig

beginConfig(callback: AsyncCallback<void>): void

开始配置会话,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.beginConfig((err) => {
    if (err) {
        console.error('Failed to start the configuration. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the begin config success.');
});

beginConfig

beginConfig(): Promise<void>

开始配置会话,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.beginConfig().then(() => {
    console.log('Promise returned to indicate the begin config success.');
})

commitConfig

commitConfig(callback: AsyncCallback<void>): void

提交会话配置,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.commitConfig((err) => {
    if (err) {
        console.error('Failed to commit the configuration. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the commit config success.');
});

commitConfig

commitConfig(): Promise<void>

提交会话配置,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.commitConfig().then(() => {
    console.log('Promise returned to indicate the commit config success.');
})

addInput

addInput(cameraInput: CameraInput, callback: AsyncCallback<void>): void

在当前会话中,添加一个CameraInput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
cameraInput[CameraInput]需要添加的CameraInput实例。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.addInput(cameraInput, (err) => {
    if (err) {
        console.error('Failed to add the CameraInput instance. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the CameraInput instance is added.');
});

addInput

addInput(cameraInput: CameraInput): Promise<void>

在当前会话中,添加一个CameraInput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
cameraInput[CameraInput]需要添加的CameraInput实例。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.addInput(cameraInput).then(() => {
    console.log('Promise used to indicate that the CameraInput instance is added.');
})

addOutput

addOutput(previewOutput: PreviewOutput, callback: AsyncCallback<void>): void

在当前会话中,添加一个PreviewOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
previewOutput[PreviewOutput]需要添加的PreviewOutput实例。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.addOutput(previewOutput, (err) => {
    if (err) {
        console.error('Failed to add the PreviewOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PreviewOutput instance is added.');
});

addOutput

addOutput(previewOutput: PreviewOutput): Promise<void>

在当前会话中,添加一个PreviewOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
previewOutput[PreviewOutput]需要添加的PreviewOutput实例。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.addOutput(previewOutput).then(() => {
    console.log('Promise used to indicate that the PreviewOutput instance is added.');
})

addOutput

addOutput(photoOutput: PhotoOutput, callback: AsyncCallback<void>): void

在当前会话中,添加一个PhotoOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
photoOutput[PhotoOutput]需要添加的PhotoOutput实例。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.addOutput(photoOutput, (err) => {
    if (err) {
        console.error('Failed to add the PhotoOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PhotoOutput instance is added.');
});

addOutput

addOutput(photoOutput: PhotoOutput): Promise<void>

在当前会话中,添加一个PhotoOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
photoOutput[PhotoOutput]需要添加的PhotoOutput实例。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.addOutput(photoOutput).then(() => {
    console.log('Promise used to indicate that the PhotoOutput instance is added.');
})

addOutput

addOutput(videoOutput: VideoOutput, callback: AsyncCallback<void>): void

在当前会话中,添加一个VideoOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
videoOutput[VideoOutput]需要添加的VideoOutput实例。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.addOutput(videoOutput, (err) => {
    if (err) {
        console.error('Failed to add the VideoOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the VideoOutput instance is added.');
});

addOutput

addOutput(videoOutput: VideoOutput): Promise<void>

在当前会话中,添加一个VideoOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
videoOutput[VideoOutput]需要添加的VideoOutput实例。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.addOutput(videoOutput).then(() => {
    console.log('Promise used to indicate that the VideoOutput instance is added.');
})

removeInput

removeInput(cameraInput: CameraInput, callback: AsyncCallback<void>): void

在当前会话中,移除一个CameraInput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
cameraInput[CameraInput]需要移除的CameraInput实例。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.removeInput(cameraInput, (err) => {
    if (err) {
        console.error('Failed to remove the CameraInput instance. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the cameraInput instance is removed.');
});

removeInput

removeInput(cameraInput: CameraInput): Promise<void>

在当前会话中,移除一个CameraInput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
cameraInput[CameraInput]需要移除的CameraInput实例。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.removeInput(cameraInput).then(() => {
    console.log('Promise returned to indicate that the cameraInput instance is removed.');
})

removeOutput

removeOutput(previewOutput: PreviewOutput, callback: AsyncCallback<void>): void

在当前会话中,移除一个PreviewOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
previewOutput[PreviewOutput]需要移除的PreviewOutput实例。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.removeOutput(previewOutput, (err) => {
    if (err) {
        console.error('Failed to remove the PreviewOutput instance. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PreviewOutput instance is removed.');
});

removeOutput

removeOutput(previewOutput: PreviewOutput): Promise<void>

在当前会话中,移除一个PreviewOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
previewOutput[PreviewOutput]需要移除的PreviewOutput实例。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.removeOutput(previewOutput).then(() => {
    console.log('Promise returned to indicate that the PreviewOutput instance is removed.');
})

removeOutput

removeOutput(photoOutput: PhotoOutput, callback: AsyncCallback<void>): void

在当前会话中,移除一个PhotoOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
photoOutput[PhotoOutput]需要移除的PhotoOutput实例。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.removeOutput(photoOutput, (err) => {
    if (err) {
        console.error('Failed to remove the PhotoOutput instance. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PhotoOutput instance is removed.');
});

removeOutput

removeOutput(photoOutput: PhotoOutput): Promise<void>

在当前会话中,移除一个PhotoOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
photoOutput[PhotoOutput]需要移除的PhotoOutput实例。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.removeOutput(photoOutput).then(() => {
    console.log('Promise returned to indicate that the PhotoOutput instance is removed.');
})

removeOutput

removeOutput(videoOutput: VideoOutput, callback: AsyncCallback<void>): void

在当前会话中,移除一个VideoOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
videoOutput[VideoOutput]需要移除的VideoOutput实例。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.removeOutput(videoOutput, (err) => {
    if (err) {
        console.error('Failed to remove the VideoOutput instance. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the VideoOutput instance is removed.');
});

removeOutput

removeOutput(videoOutput: VideoOutput): Promise<void>

在当前会话中,移除一个VideoOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
videoOutput[VideoOutput]需要移除的VideoOutput实例。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.removeOutput(videoOutput).then(() => {
    console.log('Promise returned to indicate that the VideoOutput instance is removed.');
})

start

start(callback: AsyncCallback<void>): void

启动拍照会话,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.start((err) => {
    if (err) {
        console.error('Failed to start the session ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the session start success.');
});

start

start(): Promise<void>

启动拍照会话,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.start().then(() => {
    console.log('Promise returned to indicate the session start success.');
})

stop

stop(callback: AsyncCallback<void>): void

停止拍照会话,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.stop((err) => {
    if (err) {
        console.error('Failed to stop the session ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the session stop success.');
});

stop

stop(): Promise<void>

停止拍照会话,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.stop().then(() => {
    console.log('Promise returned to indicate the session stop success.');
})

release

release(callback: AsyncCallback<void>): void

释放CaptureSession实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

captureSession.release((err) => {
    if (err) {
        console.error('Failed to release the CaptureSession instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the CaptureSession instance is released successfully.');
});

release

release(): Promise<void>

释放CaptureSession实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

captureSession.release().then(() => {
    console.log('Promise returned to indicate that the CaptureSession instance is released successfully.');
})

on('error')

on(type: 'error', callback: ErrorCallback<CaptureSessionError>): void

监听拍照会话的错误事件,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'error',即拍照会话错误事件。
callbackErrorCallback<[CaptureSessionError]>回调函数,用于获取错误信息。

示例:

captureSession.on('error', (captureSessionError) => {
    console.log('Capture session error code: ' + captureSessionError.code);
})

CaptureSessionErrorCode

枚举,拍照会话的错误码。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称说明
ERROR_UNKNOWN-1未知错误。

CaptureSessionError

拍照会话错误对象。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称类型说明
code[CaptureSessionError]CaptureSession中的错误码。

camera.createPreviewOutput

createPreviewOutput(surfaceId: string, callback: AsyncCallback<PreviewOutput>): void

获取PreviewOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
surfaceIdstring从XComponent组件获取的Surface ID。
callbackAsyncCallback<[PreviewOutput]>回调函数,用于获取PreviewOutput实例。

示例:

camera.createPreviewOutput(("surfaceId"), (err, previewOutput) => {
    if (err) {
        console.error('Failed to create the PreviewOutput instance. ${err.message}');
        return;
    }
    console.log('Callback returned with previewOutput instance');
});

camera.createPreviewOutput

createPreviewOutput(surfaceId: string): Promise<PreviewOutput>

获取PreviewOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
surfaceIdstring从XComponent组件获取的Surface ID。

返回值:

类型说明
Promise<[PreviewOutput]>使用Promise的方式获取结果。

示例:

camera.createPreviewOutput("surfaceId").then((previewOutput) => {
    console.log('Promise returned with the PreviewOutput instance');
})

PreviewOutput

预览输出类。

release

release(callback: AsyncCallback<void>): void

释放PreviewOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

previewOutput.release((err) => {
    if (err) {
        console.error('Failed to release the PreviewOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PreviewOutput instance is released successfully.');
});

release

release(): Promise<void>

释放PreviewOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

previewOutput.release().then(() => {
    console.log('Promise returned to indicate that the PreviewOutput instance is released successfully.');
})

on('frameStart')

on(type: 'frameStart', callback: AsyncCallback<void>): void

监听预览帧启动,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'frameStart',即帧启动事件。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

previewOutput.on('frameStart', () => {
    console.log('Preview frame started');
})

on('frameEnd')

on(type: 'frameEnd', callback: AsyncCallback<void>): void

监听预览帧结束,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'frameEnd',即帧结束事件。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

previewOutput.on('frameEnd', () => {
    console.log('Preview frame ended');
})

on('error')

on(type: 'error', callback: ErrorCallback<PreviewOutputError>): void

监听预览输出的错误事件,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'error',即预览输出错误事件。
callbackErrorCallback<[PreviewOutputErrorCode]>回调函数,用于获取错误信息。

示例:

previewOutput.on('error', (previewOutputError) => {
    console.log('Preview output error code: ' + previewOutputError.code);
})

PreviewOutputErrorCode

枚举,预览输出的错误码。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称说明
ERROR_UNKNOWN-1未知错误。

PreviewOutputError

预览输出错误对象。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称类型说明
code[PreviewOutputErrorCode]PreviewOutput中的错误码。

camera.createPhotoOutput

createPhotoOutput(surfaceId: string, callback: AsyncCallback<PhotoOutput>): void

获取PhotoOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
surfaceIdstring从[ImageReceiver]获取的Surface ID。
callbackAsyncCallback<[PhotoOutput]>回调函数,用于获取PhotoOutput实例。

示例:

camera.createPhotoOutput(("surfaceId"), (err, photoOutput) => {
    if (err) {
        console.error('Failed to create the PhotoOutput instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the PhotoOutput instance.');
});

camera.createPhotoOutput

createPhotoOutput(surfaceId: string): Promise<PhotoOutput>

获取PhotoOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
surfaceIdstring从[ImageReceiver]获取的Surface ID。

返回值:

类型说明
Promise<[PhotoOutput]>使用Promise的方式获取PhotoOutput实例。

示例:

camera.createPhotoOutput("surfaceId").then((photoOutput) => {
    console.log('Promise returned with PhotoOutput instance');
})

ImageRotation

枚举,图片旋转角度。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称说明
ROTATION_00图片旋转0度。
ROTATION_9090图片旋转90度。
ROTATION_180180图片旋转180度。
ROTATION_270270图片旋转270度。

QualityLevel

枚举,图片质量。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称说明
QUALITY_LEVEL_HIGH0图片质量高。
QUALITY_LEVEL_MEDIUM1图片质量中等。
QUALITY_LEVEL_LOW2图片质量差。

PhotoCaptureSetting

拍摄照片的设置。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称类型必填说明
quality[QualityLevel]图片质量。
rotation[ImageRotation]图片旋转角度。

PhotoOutput

照片输出类。

capture

capture(callback: AsyncCallback<void>): void

拍照,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

photoOutput.capture((err) => {
    if (err) {
        console.error('Failed to capture the photo ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the photo capture request success.');
});

capture

capture(setting: PhotoCaptureSetting, callback: AsyncCallback<void>): void

根据拍照设置拍照,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
setting[PhotoCaptureSetting]拍照设置。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

photoOutput.capture(settings, (err) => {
    if (err) {
        console.error('Failed to capture the photo ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the photo capture request success.');
});

capture

capture(setting?: PhotoCaptureSetting): Promise<void>

根据拍照设置拍照,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
setting[PhotoCaptureSetting]拍照设置。

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

photoOutput.capture().then(() => {
    console.log('Promise returned to indicate that photo capture request success.');
})

release

release(callback: AsyncCallback<void>): void

释放PhotoOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

photoOutput.release((err) => {
    if (err) {
        console.error('Failed to release the PhotoOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PhotoOutput instance is released successfully.');
});

release

release(): Promise<void>

释放PhotoOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

photoOutput.release().then(() => {
    console.log('Promise returned to indicate that the PhotoOutput instance is released successfully.');
})

on('captureStart')

on(type: 'captureStart', callback: AsyncCallback<number>): void

监听拍照启动,通过注册回调函数获取Capture ID。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'captureStart',即拍照启动事件。
callbackAsyncCallback<number>使用callback的方式获取Capture ID。

示例:

photoOutput.on('captureStart', (err, captureId) => {
    console.log('photo capture stated, captureId : ' + captureId);
})

on('frameShutter')

on(type: 'frameShutter', callback: AsyncCallback<FrameShutterInfo>): void

监听快门,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'frameShutter',即帧刷新事件。
callbackAsyncCallback<[FrameShutterInfo]>回调函数,用于获取相关信息。

示例:

photoOutput.on('frameShutter', (frameShutterInfo) => {
    console.log('photo capture end, captureId : ' + frameShutterInfo.captureId);
    console.log('Timestamp for frame : ' + frameShutterInfo.timestamp);
})

on('captureEnd')

on(type: 'captureEnd', callback: AsyncCallback<CaptureEndInfo>): void

监听拍照停止,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'captureEnd',即拍照停止事件。
callbackAsyncCallback<[CaptureEndInfo]>回调函数,用于获取相关信息。

示例:

photoOutput.on('captureEnd', (captureEndInfo) => {
    console.log('photo capture end, captureId : ' + captureEndInfo.captureId);
    console.log('frameCount : ' + captureEndInfo.frameCount);
})

on('error')

on(type: 'error', callback: ErrorCallback<PhotoOutputError>): void

监听拍照的错误事件,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'error',即拍照错误事件。
callbackErrorCallback<[PhotoOutputError]>回调函数,用于获取错误信息。

示例:

photoOutput.on('error', (photoOutputError) => {
    console.log('Photo output error code: ' + photoOutputError.code);
})

FrameShutterInfo

快门事件信息。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称类型必填说明
captureIdnumberCaptureId,本次拍摄动作的ID。
timestampnumber时间戳。

CaptureEndInfo

拍照停止信息。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称类型必填说明
captureIdnumberCaptureId,本次拍摄动作的ID。
frameCountnumber帧计数。

PhotoOutputErrorCode

枚举,拍照输出的错误码。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称说明
ERROR_UNKNOWN-1未知错误。

PhotoOutputError

拍照输出错误对象。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称类型说明
code[PhotoOutputError]PhotoOutput中的错误码。

camera.createVideoOutput

createVideoOutput(surfaceId: string, callback: AsyncCallback<VideoOutput>): void

获取VideoOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
surfaceIdstring从VideoRecorder获取的Surface ID。
callbackAsyncCallback<[VideoOutput]>回调函数,用于获取VideoOutput实例。

示例:

camera.createVideoOutput(("surfaceId"), (err, videoOutput) => {
    if (err) {
        console.error('Failed to create the VideoOutput instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the VideoOutput instance');
});

camera.createVideoOutput

createVideoOutput(surfaceId: string): Promise<VideoOutput>

获取VideoOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
surfaceIdstring从VideoRecorder获取的Surface ID。

返回值:

类型说明
Promise<[VideoOutput]>使用Promise的方式获取VideoOutput实例。

示例:

camera.createVideoOutput("surfaceId"
).then((videoOutput) => {
    console.log('Promise returned with the VideoOutput instance');
})

VideoOutput

视频输出类。

start

start(callback: AsyncCallback<void>): void

开始拍摄视频,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

videoOutput.start((err) => {
    if (err) {
        console.error('Failed to start the video output ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the video output start success.');
});

start

start(): Promise<void>

开始拍摄视频,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

videoOutput.start().then(() => {
    console.log('Promise returned to indicate that start method execution success.');
})

stop

stop(callback: AsyncCallback<void>): void

停止拍摄视频,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

videoOutput.stop((err) => {
    if (err) {
        console.error('Failed to stop the video output ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the video output stop success.');
});

stop

stop(): Promise<void>

停止拍摄视频,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

videoOutput.start().then(() => {
    console.log('Promise returned to indicate that stop method execution success.');
})

release

release(callback: AsyncCallback<void>): void

释放VideoOutput实例,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

videoOutput.release((err) => {
    if (err) {
        console.error('Failed to release the VideoOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the VideoOutput instance is released successfully.');
});

release

release(): Promise<void>

释放VideoOutput实例,通过Promise获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

返回值:

类型说明
Promise<void>使用Promise的方式获取结果。

示例:

videoOutput.release().then(() => {
    console.log('Promise returned to indicate that the VideoOutput instance is released successfully.');
})

on('frameStart')

on(type: 'frameStart', callback: AsyncCallback<void>): void

监听视频帧开启,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'frameStart',即视频帧开启事件。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

videoOutput.on('frameStart', () => {
    console.log('Video frame started');
})

on('frameEnd')

on(type: 'frameEnd', callback: AsyncCallback<void>): void

监听视频帧结束,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'frameEnd',即视频帧结束事件。
callbackAsyncCallback<void>回调函数,用于获取结果。

示例:

videoOutput.on('frameEnd', () => {
    console.log('Video frame ended');
})

on('error')

on(type: 'error', callback: ErrorCallback<VideoOutputError>): void

监听视频输出的错误事件,通过注册回调函数获取结果。

系统能力:  SystemCapability.Multimedia.Camera.Core

参数:

名称类型必填说明
typestring监听事件,固定为'error',即视频输出错误事件。
callbackCallback<[VideoOutputError]>回调函数,用于获取错误信息。

示例:

videoOutput.on('error', (VideoOutputError) => {
    console.log('Video output error code: ' + VideoOutputError.code);
})

VideoOutputErrorCode

枚举,视频输出的错误码。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿说明
ERROR_UNKNOWN-1未知错误。

搜狗高速浏览器截图20240326151450.png

VideoOutputError

视频输出错误对象。

系统能力:  SystemCapability.Multimedia.Camera.Core

名称类型说明
code[PhotoOutputError]VideoOutput中的错误码。

2024年,已有许多程序员把未来投向了鸿蒙开发,想必也在网上寻找过【鸿蒙学习资料】,然而搜索到的资料都是七零八碎比较杂乱,对于新入门的人来说增加了时间成本;为了避免大家在学习过程中浪费过多时间。对此录制了一套鸿蒙基础进阶视频(HarmonyOS NEXT开发入门&实战教学视频(200集+)发放给大家。↓↓↓点击即可

《鸿蒙 (HarmonyOS NEXT)开发入门&实战教学视频》

鸿蒙ArkTS语言》

鸿蒙ArkUI声明式》

《鸿蒙开发环境搭建》

另外还根据鸿蒙官方发布的文档结合华为内部人员分享,经过反复修改整理得出的一整套鸿蒙(HarmonyOS NEXT)学习手册(共计2000页+)想要鸿蒙进阶文档的开发者有福了!

内容包含了:(ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。帮助大家在学习鸿蒙路上少走弯路!点击即可↓↓↓

《鸿蒙 (HarmonyOS NEXT)开发基础与实战手册》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/666574.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode算法】第101题:对称二叉树

目录 一、题目描述 二、初次解答 三、官方解法 四、总结 一、题目描述 二、初次解答 1. 思路&#xff1a;递归判定左子树和右子树是否对称。用一个新函数sym来递归判定左子树和右子树是否对称。该函数细节&#xff1a;判定当前传入的两个根节点是否为空&#xff0c;若均为空…

React + Taro 项目 实际书写 感受

之前我总结了部分react 基础 根据官网的内容 以及Taro 框架的内容 今天我试着开始写了一下页面和开发 说一下我的感受 我之前写的是vue3 今天是第一次真正根据需求做页面开发 和逻辑功能 代码的书写 主体就是开发了这个页面 虽说这个页面 很简单 但是如果你要是第一次写 难说…

通过nginx解决跨域问题,并测试

*表示所有域名 # 测试域名server {listen 80;server_name chat.test.com;#配置根目录location / {proxy_pass http://127.0.0.1:3000;}location /api/ {# 设置允许跨域的域&#xff0c;* 表示允许任何域&#xff0c;也可以设置特定的域add_header Access-Control-Allow-Origin …

将三个字符串通过strcat连接起来并打印输出

将三个字符串通过strcat连接起来并打印输出 #include <stdio.h> #include <string.h> int main () { char a[10]"I", b[10]" am",c[10]" happy"; strcat(a,b); strcat(a,c); printf("%s",a); printf("\n"); re…

Linux基本命令的使用(ls cd touch)

一、Windows系统常见的文件类型 • 文本文件格式&#xff1a;txt、doc、pdf、html等。 • 图像文件格式&#xff1a;jpg、png、bmp、gif等。 • 音频文件格式&#xff1a;mp3、wav、wma等。 • 视频文件格式&#xff1a;mp4、avi、wmv、mov等。 • 压缩文件格式&#xff1a;zip…

配置华为路由器通过RADIUS对接安当ASP身份认证服务器以实现上网功能解决方案

当配置华为路由器通过RADIUS对接安当ASP身份认证服务器以实现上网功能时&#xff0c;以下是一个更详细的解决方案&#xff1a; 一、前期准备 1. 确认网络环境&#xff1a; 确保华为路由器与安当ASP身份认证服务器之间的网络连接稳定可靠。确定RADIUS协议所需的端口&#xff08…

【量算分析工具-贴地距离】GeoServer改造Springboot番外系列九

【量算分析工具-概述】GeoServer改造Springboot番外系列三-CSDN博客 【量算分析工具-水平距离】GeoServer改造Springboot番外系列四-CSDN博客 【量算分析工具-水平面积】GeoServer改造Springboot番外系列五-CSDN博客 【量算分析工具-方位角】GeoServer改造Springboot番外系列…

思科防火墙 网线连接的端口还是down 已配置 端口还是down

环境&#xff1a; 思科防火墙fpr-2100 isco Firepower 2100 系列防火墙是思科系统&#xff08;Cisco Systems&#xff09;推出的一款中端网络安全和防火墙设备。这一系列的产品主要针对中到大型企业的需求&#xff0c;提供高性能的威胁防护和网络流量管理功能。 问题描述&am…

【算法】MT2 棋子翻转

✨题目链接&#xff1a; MT2 棋子翻转 ✨题目描述 在 4x4 的棋盘上摆满了黑白棋子&#xff0c;黑白两色棋子的位置和数目随机&#xff0c;其中0代表白色&#xff0c;1代表黑色&#xff1b;左上角坐标为 (1,1) &#xff0c;右下角坐标为 (4,4) 。 现在依次有一些翻转操作&#…

【Linux】磁盘结构文件系统软硬链接动静态库

目录 一.磁盘结构 1、磁盘的物理结构 2、磁盘的存储结构 3、磁盘的逻辑结构 二.文件系统 1、对IO单位的优化 2、磁盘分区与分组 3、对分组的具体管理方法 4、文件操作 三.软硬链接 1、理解硬链接 2、理解软连接 3、理解.和.. 四、动静态库 1、什么是动静态库 2、…

HSViT: Horizontally Scalable Vision Transformer

论文链接&#xff1a;https://arxiv.org/pdf/2404.05196 代码链接&#xff1a;https://github.com/xuchenhao001/HSViT 根据文档内容&#xff0c;我梳理出以下大纲&#xff1a; 一、引言 ViT模型在计算机视觉领域受到广泛关注&#xff0c;但需要大规模数据集进行预训练才能取…

python绘制北京汽车流量热力图:从原理到实践

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、热力图绘制原理 三、热力图绘制实践 1. 数据准备 2. 地图组件选择 3. 数据…

【Python】解决Python报错:AttributeError: ‘function‘ object has no attribute ‘xxx‘

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

关于网络编程

目录 1、InetAdress类 2、Socket套接字 3、UDP数据报套接字编程 &#xff08;1&#xff09;DatagramSocket 类 &#xff08;2&#xff09;DatagramPacket类 &#xff08;3&#xff09;处理无连接问题 UdpEchoServer.java UdpEchoClient.java 4、TCP流套接字编程 &…

设计模式23——状态模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 状态模式&#xff08;State&am…

Mysql基础教程(12):JOIN

MySQL JOIN 在 MySQL 中&#xff0c;JOIN 语句用于将数据库中的两个表或者多个表组合起来。 比如在一个学校系统中&#xff0c;有一个学生信息表和一个学生成绩表。这两个表通过学生 ID 字段关联起来。当我们要查询学生的成绩的时候&#xff0c;就需要连接两个表以查询学生信…

内网渗透-隧道搭建ssp隧道代理工具

内网渗透-隧道搭建&ssp隧道代理工具 目录 内网渗透-隧道搭建&ssp隧道代理工具spp隧道代理工具spp工作原理图cs上线主机spp代理通信服务端配置客户端配置CS配置设置CS生成木马的监听器配置CS监听上线的监听器生成木马 spp隧道搭建服务端配置客户端配置CS配置 内网穿透&a…

hive安装-本地模式

1.安装mysql&#xff08;参考文章&#xff1a;centos7.8安装Mysql8.4-CSDN博客&#xff09; 2.将mysql驱动拷贝到/opt/module/hive/lib目录下 &#xff08;直接windows通过finalShell上传&#xff09; 3./opt/module/hive/conf目录下新建hive-site.xml文件&#xff0c;进行配置…

QT6.2.4 MSVC2019 连接MySql5.7数据库,无驱动问题

1.下载 查询一下数据库驱动 qDebug()<<QSqlDatabase::drivers(); 结果显示&#xff0c;没有QMYSQL的驱动。 QList("QSQLITE", "QMARIADB", "QODBC", "QPSQL") MySql6.2.4驱动下载地址&#xff0c;如果是别的版本&#xff0c;…

2024上海中小学生古诗文大会方案已发布,家长孩子最关心10个问题

昨天&#xff08;2024年5月30日&#xff09;下午15点&#xff0c;上海中小学生古诗文大会组委会通过两个公众号发布了《2024上海中小学生古诗文大会系列活动方案出炉》的推文&#xff08;下称《方案》&#xff09;。如我之前的分析和预测&#xff0c;5月份会发布今年的中小学生…