Слышимые элементы управления
Элементы управления 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 |