openharmony 鸿蒙 js-apis-mechanicManager

2026-08-25 浏览 (1)

@ohos.distributedHardware.mechanicManager (机械体控制模块)

本模块提供与机械体设备交互的能力,包括设备连接状态监听、跟踪控制和跟踪状态监听功能。

说明:

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

导入模块

import { mechanicManager } from '@kit.MechanicKit';

mechanicManager.on('attachStateChange')

on(type: 'attachStateChange', callback: Callback<AttachStateChangeInfo>): void

注册连接状态变化事件的回调监听,等待连接状态变化。使用callback异步回调。

系统能力:SystemCapability.Mechanic.Core

参数:

参数名类型必填说明
type'attachStateChange'注册监听事件的类型。取值为:'attachStateChange'。
callbackCallback<AttachStateChangeInfo>回调函数,返回机械体设备连接变化信息。

错误码:

以下的错误码的详细介绍请参见机械体控制模块错误码

错误码ID错误信息
33300001Service exception.

示例:

let callback = (result: mechanicManager.AttachStateChangeInfo) => {
  console.info(`'callback result:' ${result}`);
};

console.info('Register');
mechanicManager.on("attachStateChange", callback);
console.info('Succeeded in registering callback.');

mechanicManager.off('attachStateChange')

off(type: 'attachStateChange', callback?: Callback<AttachStateChangeInfo>): void

取消注册连接状态变化事件的回调监听。使用callback异步回调。

系统能力:SystemCapability.Mechanic.Core

参数:

参数名类型必填说明
type'attachStateChange'取消注册监听事件的类型。取值为:'attachStateChange'。
callbackCallback<AttachStateChangeInfo>回调函数,返回机械体设备连接变化信息。

错误码:

以下的错误码的详细介绍请参见机械体控制模块错误码

错误码ID错误信息
33300001Service exception.

示例:

let callback = (result: mechanicManager.AttachStateChangeInfo) => {
  console.info(`'callback result:' ${result}`);
};

console.info('Unregister');
mechanicManager.off("attachStateChange", callback);
console.info('Succeeded in unregistering callback.');

mechanicManager.getAttachedMechDevices

getAttachedMechDevices(): MechInfo[]

获取已连接的机械体设备列表。

系统能力:SystemCapability.Mechanic.Core

返回值:

类型说明
MechInfo[]已连接机械体设备的列表。

错误码:

以下的错误码的详细介绍请参见机械体控制模块错误码

错误码ID错误信息
33300001Service exception.

示例:

console.info('Query device list');
let mechanicInfos = mechanicManager.getAttachedMechDevices();
console.info(`'device list:' ${mechanicInfos}`);

mechanicManager.setCameraTrackingEnabled

setCameraTrackingEnabled(isEnabled: boolean): void

启用或禁用当前机械体设备摄像头跟踪。

系统能力:SystemCapability.Mechanic.Core

参数:

参数名类型必填说明
isEnabledboolean是否启用摄像头跟踪, true表示启用摄像头跟踪,false表示禁用摄像头跟踪。

错误码:

以下的错误码的详细介绍请参见机械体控制模块错误码

错误码ID错误信息
33300001Service exception.
33300002Device not connected.
33300003Feature not supported.

示例:

console.info('Enable tracing');
mechanicManager.setCameraTrackingEnabled(true);
console.info('Succeeded in enabling tracking.');

mechanicManager.getCameraTrackingEnabled

getCameraTrackingEnabled(): boolean

检查当前机械体设备是否启用了摄像头跟踪。

系统能力:SystemCapability.Mechanic.Core

返回值:

类型说明
boolean摄像头跟踪启用状态,true表示已启用,false表示已禁用。

错误码:

以下的错误码的详细介绍请参见机械体控制模块错误码

错误码ID错误信息
33300001Service exception.
33300002Device not connected.

示例:

console.info('Get tracking status');
let enabled = mechanicManager.getCameraTrackingEnabled();
console.info(`'current tracking status:' ${enabled}`);

mechanicManager.on('trackingStateChange')

on(type: 'trackingStateChange', callback: Callback<TrackingEventInfo>): void

注册跟踪状态变化事件的回调监听。使用callback异步回调。

系统能力:SystemCapability.Mechanic.Core

参数:

参数名类型必填说明
type'trackingStateChange'注册监听事件的类型。取值为:'trackingStateChange'。
callbackCallback<TrackingEventInfo>回调函数,返回跟踪事件信息。

错误码:

以下的错误码的详细介绍请参见机械体控制模块错误码

错误码ID错误信息
33300001Service exception.

示例:

let callback = (result: mechanicManager.TrackingEventInfo) => {
  console.info(`'callback result:' ${result}`);
};

console.info('Register');
mechanicManager.on("trackingStateChange", callback);
console.info('Succeeded in registering callback.');

mechanicManager.off('trackingStateChange')

off(type: 'trackingStateChange', callback?: Callback<TrackingEventInfo>): void

取消注册跟踪状态变化事件的回调监听。使用callback异步回调。

系统能力:SystemCapability.Mechanic.Core

参数:

参数名类型必填说明
type'trackingStateChange'取消注册的监听事件类型。取值为:'trackingStateChange'。
callbackCallback<TrackingEventInfo>mechanicManager.off('trackingStateChange')注册的回调函数。不填时默认取消所有注册的回调函数。

错误码:

以下的错误码的详细介绍请参见机械体控制模块错误码

错误码ID错误信息
33300001Service exception.

示例:

let callback = (result: mechanicManager.TrackingEventInfo) => {
  console.info(`'callback result:' ${result}`);
};

console.info('Unregister');
mechanicManager.off("trackingStateChange", callback);
console.info('Succeeded in unregistering callback.');

mechanicManager.getCameraTrackingLayout

getCameraTrackingLayout(): CameraTrackingLayout

获取当前机械体设备摄像头跟踪布局。

系统能力:SystemCapability.Mechanic.Core

返回值:

类型说明
CameraTrackingLayout获取到的当前机械体设备摄像头跟踪布局。

错误码:

以下的错误码的详细介绍请参见机械体控制模块错误码

错误码ID错误信息
33300001Service exception.
33300002Device not connected.

示例:

console.info('Query layout');
let layout = mechanicManager.getCameraTrackingLayout();
console.info(`'Succeeded in querying layout, current layout:' ${layout}`);

mechanicManager.isControlSupported()

isControlSupported(mechDeviceType?: MechDeviceType): boolean

应用判断当前设备是否支持对特定设备类型的机械体设备控制,以便作出相应的功能选择,例如决定使用APP内部的跟踪控制功能还是系统的默认控制功能,或者给予用户相应的提示。三方厂商APP可以根据此接口判断当前设备是否支持对特定类型的设备的机械控制和智能跟踪功能,以决定是否使用自身APP的跟踪控制功能,还是直接使用系统提供的跟踪功能,或者给予用户相应的提示。

起始版本: 26.0.0

系统能力:SystemCapability.Mechanic.Core

参数:

参数名类型必填说明
mechDeviceTypeMechDeviceType机械体设备的类型。

返回值:

类型说明
true当前设备支持某类设备的机械体设备控制。
false当前设备不支持某类设备的机械体设备控制。

示例:

console.info('Check whether control is supported');
let isSupported = mechanicManager.isControlSupported(mechanicManager.MechDeviceType.GIMBAL_DEVICE);
console.info(`isSupported: ${isSupported}`);

MechInfo

机械体设备信息。

系统能力:SystemCapability.Mechanic.Core

名称类型只读可选说明
mechIdnumber机械体设备ID,取值为大于等于0的整数。
mechDeviceTypeMechDeviceType机械体设备的类型。
mechNamestring机械体设备名称。

TrackingEventInfo

跟踪事件信息。

系统能力:SystemCapability.Mechanic.Core

名称类型只读可选说明
eventTrackingEvent跟踪事件。

AttachStateChangeInfo

设备连接状态变化的信息。

系统能力:SystemCapability.Mechanic.Core

名称类型只读可选说明
stateAttachState设备连接状态。
mechInfoMechInfo机械体设备信息。

TrackingEvent

跟踪事件的枚举。

系统能力:SystemCapability.Mechanic.Core

名称说明
CAMERA_TRACKING_USER_ENABLED0用户启用了摄像头跟踪。
CAMERA_TRACKING_USER_DISABLED1用户禁用了摄像头跟踪。
CAMERA_TRACKING_LAYOUT_CHANGED2摄像头跟踪构图变更。

MechDeviceType

机械体设备类型的枚举。

系统能力:SystemCapability.Mechanic.Core

名称说明
GIMBAL_DEVICE0便携式云台设备。

AttachState

设备连接状态的枚举。

系统能力:SystemCapability.Mechanic.Core

名称说明
ATTACHED0设备已连接。
DETACHED1设备已断开。

CameraTrackingLayout

摄像头跟踪布局的枚举。

系统能力:SystemCapability.Mechanic.Core

名称说明
DEFAULT0系统默认跟踪布局。
LEFT1靠左布局。
MIDDLE2居中布局。
RIGHT3靠右布局。

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 Readme-CN

openharmony 鸿蒙 js-apis-mechanicManager-sys

openharmony 鸿蒙 errorcode-mechanic

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/3vDmL1Ei