耳机运动数据 PRO
HeadphoneMotionManager 命名空间用于从支持空间音频与动态头部追踪的耳机(如 AirPods Pro、AirPods Max、AirPods 3)读取运动数据。
它封装了 Apple 的 CMHeadphoneMotionManager,向脚本暴露姿态、旋转速率、用户加速度、重力以及连接/断开事件。
属性
权限由内部统一处理 —— 脚本无需主动查询或请求授权。首次调用
startDeviceMotionUpdates会自动触发系统弹窗;若用户已拒绝,后续调用会带着清晰的错误信息 reject。
方法
startDeviceMotionUpdates(options): Promise<boolean>
开始接收运动数据。流启动后 resolve true。
同时只允许一个活动订阅。再次调用 startDeviceMotionUpdates 会替换之前的 handler。
stopDeviceMotionUpdates(): void
停止当前的运动数据流。在没有活动流时调用是安全的。
addListener(event, listener): void
订阅耳机连接事件。
connect:检测到兼容耳机连接时触发。disconnect:耳机断开时触发。
removeListener(event, listener): void
移除已注册的监听器。需要传入与 addListener 调用时相同的函数引用。
数据类型
示例
备注
Info.plist需声明NSMotionUsageDescription,Scripting 已默认包含。- 首次调用
startDeviceMotionUpdates时由系统自动弹窗请求 运动与健身 权限。若用户拒绝(首次或后续在系统设置中关闭),startDeviceMotionUpdates会带着清晰的错误信息 reject,方便脚本给出友好提示。
