跳到主要内容

佩戴检测概览

佩戴检测提供设备的能力、启用状态以及当前左右耳佩戴状态。设备报告该能力可配置时,还可以通过 SDK 启用或禁用检测。

功能概览

使用 AI 辅助实现

使用 AI 开发

让 AI 帮助实现此工作流

使用官方“管理 AIBuds 佩戴检测”技能,根据你的 App 完成实现。

请阅读并遵循 https://docs-aibuds.github.io/zh-Hans/skills/manage-aibuds-wear-detection,使用该技能在当前 iOS 项目中完成“管理 AIBuds 佩戴检测”,并验证结果。
查看官方技能

开始使用

  1. 连接设备——等待设备连接并就绪。
  2. 检查协议一致性——确认设备支持 DeviceWearDetectionAPI
  3. 读取能力——使用 wearDetectionCapability 判断佩戴检测是否受支持及是否可配置。
  4. 读取当前状态——使用 isWearDetectionEnabledwearStatus
  5. 在支持时配置——仅对能力可配置的设备调用 setWearDetection(enabled:completion:)

核心概念

能力

WearDetectionCapability 区分以下三个级别:

含义
.none不支持佩戴检测。
.supportedNotConfigurable支持佩戴检测,但无法通过该 API 更改启用状态。
.supportedAndConfigurable支持佩戴检测,并且可以启用或禁用。

状态

  • isWearDetectionEnabled 表示当前是否启用佩戴检测。
  • WearStatus 表示未知、未佩戴、仅左耳佩戴、仅右耳佩戴或双耳佩戴状态。
  • 能力、启用状态和佩戴状态是相互独立的值,请勿根据其中一项推断其他项。

协议参考

通过 DeviceWearDetectionAPI 访问佩戴检测:

Swift
guard let device = device as? DeviceWearDetectionAPI else {
    print("Device does not support DeviceWearDetectionAPI")
    return
}

最佳实践

  1. 配置前检查能力:只有 .supportedAndConfigurable 表示可以更改启用状态。
  2. 使用当前属性:读取 SDK 当前快照,不要调用并不存在的查询方法。
  3. 监听变化:通过 DeviceDelegate 回调接收启用状态和佩戴状态变化。
  4. 明确处理未知状态:不要将 .unknown 等同于 .notWearing

注意事项

  • SDK 中存在某个枚举 case,并不表示每台设备都支持对应能力。
  • SDK 不承诺佩戴状态变化时自动控制播放;App 应根据产品需求决定相关行为。
  • SDK Demo 从 DeviceWearDetectionAPI 读取能力和启用状态,并且只在能力可配置时提供配置选项。