Слышимые элементы управления

Элементы управления Hearable в Fast Pair призваны обеспечить улучшенный доступ к важным функциям Hearable на Android. Для этого в Message Stream добавлена ​​новая группа сообщений — «Элементы управления Hearable».

Имя группы сообщений Ценить
Слышимый контроль 0x08

Активный контроль шума

Активное шумоподавление становится важной функцией для наушников премиум-класса. На стороне Seeker Fast Pair будет иметь пользовательский интерфейс и логику для установки, получения и сохранения состояния, а состояние будет храниться на стороне провайдера. Провайдер обязан отправлять Session Nonce при подключении потока событий. Для этого определены следующие коды сообщений:

Кодовое имя сообщения Ценить Отправитель Респондент МАК АСК
Получить штат АНК 0x11 Искатель Поставщик Н Н
Установить состояние ANC 0x12 Искатель Поставщик Y Y
Уведомить штат АНК 0x13 Поставщик Искатель Н Н

Когда Seeker подключается к Provider или когда Provider получает сообщение «Получить состояние ANC», Provider может уведомить Seeker о состоянии ANC, чтобы сообщить Seeker о его возможностях ANC и сохраненном состоянии. Сообщение выглядит следующим образом:

Байт Тип данных Описание Ценить
0 uint8 Слышимый контроль 0x08
1 uint8 Уведомить штат АНК 0x13
2 - 3 uint16 Длина дополнительных данных 0x04
4 - 7 Контрольные данные АНК варьируется
Контрольные данные АНК
Байт Тип данных Описание Ценить
0 uint8 Код версии варьируется , 0x02 для этой версии
1 Флаги переключатели пользовательского интерфейса
Каждый режим включается (1) или выключается (0) в зависимости от значения его бита флага, как указано ниже:
Бит 0 (MSB): прозрачный
Бит 1: адаптивный (или 0, если не поддерживается)
Бит 2: выкл.
Бит 3: Зарезервировано (установить бит в 0)
Бит 4: АНК
варьируется
2 Флаги Настраиваемые переключатели
Здесь также можно установить любой или все биты переключения пользовательского интерфейса, указанные выше, чтобы указать, какие из них в данный момент включены.
варьируется
3 Флаги Текущее состояние
Может быть установлен только один бит, и значение этого байта должно быть ненулевым.
варьируется

Искатель отобразит переключаемый пользовательский интерфейс в соответствии с данными управления ANC.

Пример 1: Поставщик поддерживает трехстороннее ANC: прозрачный — выключен — ANC и наушники надеты, теперь все режимы можно настроить, текущее состояние — выключено:

Байт Тип данных Описание Ценить
0 uint8 Код версии 0x01
1 Флаги переключатели пользовательского интерфейса 0b10101000
2 Флаги Настраиваемые переключатели 0b10101000
3 Флаги Текущее состояние 0b00100000

Пример 2: Поставщик поддерживает 3-стороннее ANC: прозрачный - выключен - ANC, в данный момент наушник находится только у одного наушника или не находится ни одного наушника, поэтому никакие режимы не настраиваются, а текущее состояние - выключено:

Байт Тип данных Описание Ценить
0 uint8 Код версии 0x01
1 Флаги переключение пользовательского интерфейса 0b10101000
2 Флаги Настраиваемый переключатель 0b00000000
3 Флаги Текущее состояние 0b00100000

Если пользователь переключает переключатель, Искатель установит текущее состояние Поставщика следующим образом:

Байт Тип данных Описание Ценить
0 uint8 Слышимый контроль 0x08
1 uint8 Установить состояние ANC 0x12
2 - 3 uint16 Длина дополнительных данных варьируется , 0x04 или 0x14
4 uint8 Код версии Seeker варьируется , 0x01 или 0x02
5 Флаги Настраиваемые режимы ANC (переключение пользовательского интерфейса) варьируется
6 Флаги Режимы с включенным ANC (настраиваемый переключатель) варьируется
7 Флаги Новый индекс режима ANC (новое состояние) варьируется
8 - 23 Сдержанный варьируется

Байты 4–7 фактически представляют собой управляющие данные ANC, отправленные со стороны Seeker. Если значение дополнительной длины равно 0x14, зарезервированные байты 8–23 будут присутствовать, и при получении этих байтов поставщик должен их игнорировать. Если значение дополнительной длины равно 0x04, зарезервированные байты отсутствуют.

Когда поставщик получает сообщение «Установить состояние ANC», он должен подтвердить его и уведомить всех подключенных пользователей Seekers. Если пользователь изменяет настройки с помощью жестов гарнитуры или сопутствующего приложения, поставщик также должен отправить уведомление всем подключенным пользователям Seekers.

Пример 3: Поставщик поддерживает 4-сторонний режим активного шумоподавления: прозрачный — адаптивный — выключен — активное шумоподавление, наушники надеты на голову, все режимы теперь настраиваются, а текущее состояние — адаптивное:

Байт Тип данных Описание Ценить
0 uint8 Код версии 0x01
1 Флаги переключение пользовательского интерфейса 0b11101000
2 Флаги Настраиваемый переключатель 0b11101000
3 Флаги Текущее состояние 0b01000000