当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
1.4K Star 7.4K Fork 8.2K

OpenHarmony/docs
关闭

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
docker
en
zh-cn
application-dev
IDL
ability
connectivity
database
device-usage-statistics
device
dfx
internationalization
media
napi
notification
public_sys-resources
quick-start
reference
apis
figures
public_sys-resources
Readme-CN.md
js-apis-Bundle-InnerBundleManager.md
js-apis-Bundle-distributedBundle.md
js-apis-Bundle.md
js-apis-Context.md
js-apis-DataUriUtils.md
js-apis-WorkSchedulerExtensionAbility.md
js-apis-ability-context.md
js-apis-ability-errorCode.md
js-apis-ability-wantConstant.md
js-apis-abilityAccessCtrl.md
js-apis-abilityDelegatorRegistry.md
js-apis-abilityrunninginfo.md
js-apis-abilitystagecontext.md
js-apis-accessibility.md
js-apis-animator.md
js-apis-appAccount.md
js-apis-application-MissionSnapshot.md
js-apis-application-StartOptions.md
js-apis-application-Want.md
js-apis-application-WindowExtensionAbility.md
js-apis-application-ability.md
js-apis-application-abilityConstant.md
js-apis-application-abilityDelegator.md
js-apis-application-abilityDelegatorArgs.md
js-apis-application-abilityLifecycleCallback.md
js-apis-application-abilityManager.md
js-apis-application-abilityMonitor.md
js-apis-application-abilitystage.md
js-apis-application-applicationContext.md
js-apis-application-context.md
js-apis-application-shellCmdResult.md
js-apis-application-staticSubscriberExtensionAbility.md
js-apis-appmanager.md
js-apis-arraylist.md
js-apis-audio.md
js-apis-backgroundTaskManager.md
js-apis-battery-info.md
js-apis-bluetooth.md
js-apis-brightness.md
js-apis-bundle-AbilityInfo.md
js-apis-bundle-ApplicationInfo.md
js-apis-bundle-BundleInfo.md
js-apis-bundle-BundleInstaller.md
js-apis-bundle-CustomizeData.md
js-apis-bundle-ExtensionAbilityInfo.md
js-apis-bundle-HapModuleInfo.md
js-apis-bundle-Metadata.md
js-apis-bundle-ModuleInfo.md
js-apis-bundle-PermissionDef.md
js-apis-bundle-ShortcutInfo.md
js-apis-bundle-remoteAbilityInfo.md
js-apis-bytrace.md
js-apis-call.md
js-apis-camera.md
js-apis-cardEmulation.md
js-apis-commonEvent.md
js-apis-config-policy.md
js-apis-configuration.md
js-apis-configurationconstant.md
js-apis-connectedTag.md
js-apis-contact.md
js-apis-convertxml.md
js-apis-data-ability.md
js-apis-data-distributedobject.md
js-apis-data-preferences.md
js-apis-data-rdb.md
js-apis-data-resultset.md
js-apis-data-storage.md
js-apis-dataAbilityHelper.md
js-apis-deque.md
js-apis-device-info.md
js-apis-device-manager.md
js-apis-deviceUsageStatistics.md
js-apis-display.md
js-apis-distributed-account.md
js-apis-distributed-data.md
js-apis-document.md
js-apis-emitter.md
js-apis-enterprise-device-manager.md
js-apis-environment.md
js-apis-eventhub.md
js-apis-extension-context.md
js-apis-extensionrunninginfo.md
js-apis-faultLogger.md
js-apis-featureAbility.md
js-apis-fileio.md
js-apis-filemanager.md
js-apis-formInfo.md
js-apis-formbindingdata.md
js-apis-formerror.md
js-apis-formextension.md
js-apis-formextensioncontext.md
js-apis-formhost.md
js-apis-formprovider.md
js-apis-geolocation.md
js-apis-hashmap.md
js-apis-hashset.md
js-apis-hiappevent.md
js-apis-hichecker.md
js-apis-hidebug.md
js-apis-hilog.md
js-apis-hitracechain.md
js-apis-hitracemeter.md
js-apis-http.md
js-apis-huks.md
js-apis-i18n.md
js-apis-image.md
js-apis-inputconsumer.md
js-apis-inputdevice.md
js-apis-inputevent.md
js-apis-inputeventclient.md
js-apis-inputmethod.md
js-apis-inputmethodengine.md
js-apis-inputmonitor.md
js-apis-intl.md
js-apis-keycode.md
js-apis-keyevent.md
js-apis-lightweightmap.md
js-apis-lightweightset.md
js-apis-linkedlist.md
js-apis-list.md
js-apis-logs.md
js-apis-media.md
js-apis-medialibrary.md
js-apis-mediaquery.md
js-apis-missionManager.md
js-apis-mouseevent.md
js-apis-net-connection.md
js-apis-nfcController.md
js-apis-nfcTag.md
js-apis-notification.md
js-apis-observer.md
js-apis-osAccount.md
js-apis-particleAbility.md
js-apis-pasteboard.md
js-apis-permissionrequestresult.md
js-apis-plainarray.md
js-apis-power.md
js-apis-process.md
js-apis-processrunninginfo.md
js-apis-prompt.md
js-apis-queue.md
js-apis-radio.md
js-apis-reminderAgent.md
js-apis-request.md
js-apis-resource-manager.md
js-apis-router.md
js-apis-rpc.md
js-apis-runninglock.md
js-apis-screen-lock.md
js-apis-screen.md
js-apis-screenshot.md
js-apis-securityLabel.md
js-apis-sensor.md
js-apis-service-extension-ability.md
js-apis-service-extension-context.md
js-apis-settings.md
js-apis-sim.md
js-apis-sms.md
js-apis-socket.md
js-apis-stack.md
js-apis-statfs.md
js-apis-storage-statistics.md
js-apis-system-app.md
js-apis-system-battery.md
js-apis-system-bluetooth.md
js-apis-system-brightness.md
js-apis-system-cipher.md
js-apis-system-configuration.md
js-apis-system-device.md
js-apis-system-fetch.md
js-apis-system-file.md
js-apis-system-location.md
js-apis-system-mediaquery.md
js-apis-system-network.md
js-apis-system-notification.md
js-apis-system-package.md
js-apis-system-parameter.md
js-apis-system-prompt.md
js-apis-system-request.md
js-apis-system-router.md
js-apis-system-sensor.md
js-apis-system-storage.md
js-apis-system-time.md
js-apis-system-vibrate.md
js-apis-telephony-data.md
js-apis-testRunner.md
js-apis-thermal.md
js-apis-timer.md
js-apis-touchevent.md
js-apis-treemap.md
js-apis-treeset.md
js-apis-uitest.md
js-apis-update.md
js-apis-uri.md
js-apis-uripermissionmanager.md
js-apis-url.md
js-apis-usb.md
js-apis-useriam-userauth.md
js-apis-util.md
js-apis-vector.md
js-apis-vibrator.md
js-apis-volumemanager.md
js-apis-wallpaper.md
js-apis-wantAgent.md
js-apis-webSocket.md
js-apis-webgl.md
js-apis-webgl2.md
js-apis-wifi.md
js-apis-wifiext.md
js-apis-window.md
js-apis-workScheduler.md
js-apis-worker.md
js-apis-xml.md
js-apis-zlib.md
arkui-js
arkui-ts
native-apis
native-lib
Readme-CN.md
security
task-management
telephony
ui
webgl
windowmanager
Readme-CN.md
application-dev-guide-for-gitee.md
application-dev-guide.md
website.md
contribute
design
device-dev
figures
readme
release-notes
OpenHarmony-Overview_zh.md
glossary.md
readme.md
website.md
.gitattributes
.gitignore
CODEOWNERS
DCO.txt
LICENSE
OAT.xml
README.md
README_zh.md
克隆/下载
js-apis-camera.md 83.50 KB
一键复制 编辑 原始数据 按行查看 历史

相机管理

说明:

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

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

camera.getCameraManager

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

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

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

参数:

名称 类型 必填 说明
context Context 应用上下文。
callback AsyncCallback<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

参数:

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

返回值:

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

示例:

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

CameraStatus

枚举,相机状态。

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

名称 说明
CAMERA_STATUS_APPEAR 0 相机存在。
CAMERA_STATUS_DISAPPEAR 1 相机不存在。
CAMERA_STATUS_AVAILABLE 2 相机就绪。
CAMERA_STATUS_UNAVAILABLE 3 相机未就绪。

CameraPosition

枚举,相机方向。

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

名称 说明
CAMERA_POSITION_UNSPECIFIED 0 未指定方向相机。
CAMERA_POSITION_BACK 1 后置相机。
CAMERA_POSITION_FRONT 2 前置相机。

CameraType

枚举,相机类型。

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

名称 说明
CAMERA_TYPE_UNSPECIFIED 0 未指定相机类型。
CAMERA_TYPE_WIDE_ANGLE 1 广角相机。
CAMERA_TYPE_ULTRA_WIDE 2 超级广角相机。
CAMERA_TYPE_TELEPHOTO 3 长焦相机。
CAMERA_TYPE_TRUE_DEPTH 4 深度相机。

ConnectionType

枚举,相机连接类型。

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

名称 说明
CAMERA_CONNECTION_BUILT_IN 0 内置相机。
CAMERA_CONNECTION_USB_PLUGIN 1 外置USB相机。
CAMERA_CONNECTION_REMOTE 2 分布式相机。

Size

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

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

名称 类型 可读 可写 说明
height string 图像的高度。
width number 图像的宽度。

CameraManager

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

getCameras

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

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

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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
cameraId string 指定相机ID。
callback AsyncCallback<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

参数:

名称 类型 必填 说明
cameraId string 指定相机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 相机类型。
callback AsyncCallback<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

参数:

名称 类型 必填 说明
type string 监听事件,固定为'cameraStatus',即相机状态变化事件。
callback AsyncCallback<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。

名称 类型 只读 说明
cameraId string 相机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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
callback AsyncCallback<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 指定闪光灯模式。
callback AsyncCallback<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 指定闪光灯模式。
callback AsyncCallback<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. 设备是否支持指定的闪光灯模式,可使用方法isFlashModeSupported

系统能力: 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

参数:

名称 类型 必填 说明
callback AsyncCallback<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 指定的焦距模式。
callback AsyncCallback<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

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

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

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

参数:

名称 类型 必填 说明
afMode FocusMode 指定的焦距模式。
callback AsyncCallback<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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
zoomRatio number 可变焦距比。
callback AsyncCallback<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

参数:

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

返回值:

类型 说明
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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

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

示例:

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

on('error')

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

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

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

参数:

名称 类型 必填 说明
type string 监听事件,固定为'error',即CameraInput错误事件。
callback ErrorCallback<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_CLOSE 0 闪光灯关闭。
FLASH_MODE_OPEN 1 闪光灯开启。
FLASH_MODE_AUTO 2 自动闪光灯。
FLASH_MODE_ALWAYS_OPEN 3 闪光灯常亮。

FocusMode

枚举,焦距模式。

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

名称 说明
FOCUS_MODE_MANUAL 0 手动变焦模式。
FOCUS_MODE_CONTINUOUS_AUTO 1 连续自动变焦模式。
FOCUS_MODE_AUTO 2 自动变焦模式。
FOCUS_MODE_LOCKED 3 定焦模式。

FocusState

枚举,焦距状态。

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

名称 说明
FOCUS_STATE_SCAN 0 扫描状态。
FOCUS_STATE_FOCUSED 1 相机已对焦。
FOCUS_STATE_UNFOCUSED 2 相机未对焦。

camera.createCaptureSession

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

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

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

参数:

名称 类型 必填 说明
context Context 应用上下文。
callback AsyncCallback<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

参数:

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

返回值:

类型 说明
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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
callback AsyncCallback<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实例。
callback AsyncCallback<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实例。
callback AsyncCallback<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实例。
callback AsyncCallback<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实例。
callback AsyncCallback<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实例。
callback AsyncCallback<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实例。
callback AsyncCallback<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实例。
callback AsyncCallback<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实例。
callback AsyncCallback<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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
type string 监听事件,固定为'error',即拍照会话错误事件。
callback ErrorCallback<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

参数:

名称 类型 必填 说明
surfaceId string 从XComponent组件获取的Surface ID。
callback AsyncCallback<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

参数:

名称 类型 必填 说明
surfaceId string 从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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

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

示例:

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

on('frameEnd')

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

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

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

参数:

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

示例:

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

on('error')

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

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

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

参数:

名称 类型 必填 说明
type string 监听事件,固定为'error',即预览输出错误事件。
callback ErrorCallback<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

参数:

名称 类型 必填 说明
surfaceId string ImageReceiver获取的Surface ID。
callback AsyncCallback<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

参数:

名称 类型 必填 说明
surfaceId string 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_0 0 图片旋转0度。
ROTATION_90 90 图片旋转90度。
ROTATION_180 180 图片旋转180度。
ROTATION_270 270 图片旋转270度。

QualityLevel

枚举,图片质量。

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

名称 说明
QUALITY_LEVEL_HIGH 0 图片质量高。
QUALITY_LEVEL_MEDIUM 1 图片质量中等。
QUALITY_LEVEL_LOW 2 图片质量差。

PhotoCaptureSetting

拍摄照片的设置。

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

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

PhotoOutput

照片输出类。

capture

capture(callback: AsyncCallback<void>): void

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

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

参数:

名称 类型 必填 说明
callback AsyncCallback<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 拍照设置。
callback AsyncCallback<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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
type string 监听事件,固定为'captureStart',即拍照启动事件。
callback AsyncCallback<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

参数:

名称 类型 必填 说明
type string 监听事件,固定为'frameShutter',即帧刷新事件。
callback AsyncCallback<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

参数:

名称 类型 必填 说明
type string 监听事件,固定为'captureEnd',即拍照停止事件。
callback AsyncCallback<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

参数:

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

示例:

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

FrameShutterInfo

快门事件信息。

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

名称 类型 必填 说明
captureId number CaptureId,本次拍摄动作的ID。
timestamp number 时间戳。

CaptureEndInfo

拍照停止信息。

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

名称 类型 必填 说明
captureId number CaptureId,本次拍摄动作的ID。
frameCount number 帧计数。

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

参数:

名称 类型 必填 说明
surfaceId string 从VideoRecorder获取的Surface ID。
callback AsyncCallback<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

参数:

名称 类型 必填 说明
surfaceId string 从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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

名称 类型 必填 说明
callback AsyncCallback<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

参数:

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

示例:

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

on('frameEnd')

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

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

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

参数:

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

示例:

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

on('error')

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

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

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

参数:

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

示例:

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

VideoOutputErrorCode

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

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

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

VideoOutputError

视频输出错误对象。

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

名称 类型 说明
code PhotoOutputError VideoOutput中的错误码。
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
其他
1
https://gitee.com/openharmony/docs.git
git@gitee.com:openharmony/docs.git
openharmony
docs
docs
OpenHarmony-3.2-Beta1

搜索帮助