Распознавание ношения
Wear Detection предоставляет сведения о поддержке функции, её включённом состоянии и текущем ношении левого и правого наушника. Если устройство сообщает о возможности настройки, распознавание можно включать и выключать через SDK.
Возможности
Возможности распознавания ношения
Получение возможностей распознавания ношения, сообщаемых устройством
Состояние распознавания ношения
Получение включённого состояния и текущего ношения, сообщаемых устройством
Настройка распознавания ношения
Включение и выключение распознавания ношения на настраиваемом устройстве
Реализация с помощью AI
Разработка с AI
Реализуйте этот сценарий с AI
Используйте официальный навык «Управление обнаружением ношения AIBuds» и адаптируйте сценарий к приложению.
Прочитайте и выполните инструкции https://docs-aibuds.github.io/ru/skills/manage-aibuds-wear-detection. Используйте этот навык, чтобы реализовать «Управление обнаружением ношения AIBuds» в данном iOS-проекте и проверить результат.Начало работы
- Подключите устройство — дождитесь подключения и готовности.
- Проверьте протокол — убедитесь в поддержке
DeviceWearDetectionAPI. - Получите возможность — по
wearDetectionCapabilityопределите, поддерживается ли функция и можно ли её настраивать. - Получите текущее состояние — прочитайте
isWearDetectionEnabledиwearStatus. - Настраивайте при поддержке — вызывайте
setWearDetection(enabled:completion:)только для устройства с настраиваемой функцией.
Основные понятия
Возможности регулировки
WearDetectionCapability определяет три уровня:
| Значение | Смысл |
|---|---|
.none | Распознавание ношения не поддерживается. |
.supportedNotConfigurable | Функция поддерживается, но менять её состояние через этот API нельзя. |
.supportedAndConfigurable | Функция поддерживается, её можно включать и выключать. |
Состояние
isWearDetectionEnabledпоказывает, включено ли распознавание сейчас.WearStatusсообщает неизвестное состояние, отсутствие ношения, только левый, только правый или оба наушника.- Возможность, включённое состояние и факт ношения — независимые значения; не выводите одно из другого.
Справочник протоколов
Распознавание ношения доступно через DeviceWearDetectionAPI:
- Swift
- Objective-C
guard let device = device as? DeviceWearDetectionAPI else {
print("Device does not support DeviceWearDetectionAPI")
return
}id<AIBudsDeviceWearDetectionAPI> device = (id<AIBudsDeviceWearDetectionAPI>)self.device;
if (![device conformsToProtocol:@protocol(AIBudsDeviceWearDetectionAPI)]) {
NSLog(@"Device does not support AIBudsDeviceWearDetectionAPI");
return;
}Рекомендации
- Проверяйте возможность до настройки: менять состояние можно только при
.supportedAndConfigurable. - Используйте текущие свойства: читайте снимки SDK, не создавая несуществующие методы запросов.
- Следите за изменениями: используйте обработчики
DeviceDelegateдля включённого состояния и ношения. - Явно обрабатывайте неизвестное состояние: не смешивайте
.unknownс.notWearing.
Примечания
- Наличие варианта перечисления в SDK не гарантирует его поддержку каждым устройством.
- SDK не гарантирует автоматическое управление воспроизведением при изменении ношения; поведение приложения определяется требованиями продукта.
- Demo SDK читает возможность и включённое состояние из
DeviceWearDetectionAPIи показывает настройку только при её поддержке.