Версия: 1.2.1
Последнее обновление: 14 июня 2024 г.
Легенда
Глагол продукта | Действия по развитию |
---|---|
"ДОЛЖЕН" | Обязательное требование к товару |
"ДОЛЖЕН" | Дополнительная рекомендация |
"МОЖЕТ" | Приятно иметь |
Обзор
В этом документе описаны требования, которым соответствует USB-гарнитура, совместимая с ChromeOS. Эта спецификация не предназначена для продуктов WWCB и продуктов, разработанных и сертифицированных вместе с Chromebook.
USB
Безопасность
Беспроводной адаптер 2,4 ГГц
- Беспроводное устройство с частотой 2,4 ГГц автоматически соединяется только с приемником (адаптером), который входит в комплект поставки.
- Требуется действие пользователя (либо на устройстве, либо через приложение) для сопряжения гарнитуры с другим ресивером или сопряжения новой гарнитуры с существующим ресивером.
- Если приложению требуется изменить сопряжение гарнитуры и ресивера, оно должно работать на ChromeOS, например, через расширение. Приложение также может быть веб-приложением, использующим WebUSB/WebHID.
- Если сопряжение осуществляется через расширение, расширение должно иметь доступ только к USB-портам. Сценарии контента явно запрещены.
Прошивка и разъем
- Гарнитура должна быть объявлена как аудиоустройство с правильным дескриптором аудиоинтерфейса (0x01).
- Должен быть один соответствующий дескриптор как для входного, так и для выходного терминала.
- Рекомендуется сообщить тип разъема USB Audio Class (UAC).
- Гарнитура (0x0402)
- Громкая связь (0x0403-0x0405) .
- Рекомендуется сообщить тип разъема USB Audio Class (UAC).
- Должен быть один соответствующий дескриптор как для входного, так и для выходного терминала.
- Если у него есть какая-либо кнопка, она должна быть объявлена как HID.
- Гарнитура должна соответствовать требованиям к прошивке и разъему WWCB .
Программное обеспечение
Формат
Пожалуйста, обратитесь к разделу «Аудио формат» .
Для устройства имеется как входной, так и выходной дескриптор аудиоинтерфейса.
Пример дескриптора аудиоинтерфейса
Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0
Если частоты дискретизации входа и выхода различаются, устройство должно иметь возможность одновременно поддерживать воспроизведение и захват с разными частотами дискретизации. В противном случае устройство должно отражать то же значение в дескрипторе интерфейса AudioStreaming -> tSamFreq
.
Пример частоты дискретизации аудиовыхода USB 48k
AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT(Output) bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data
Пример частоты дискретизации аудиовхода USB 44,1 тыс.
AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 44100 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x81 EP 1 In(Input) bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data
HID-коды
- Для каждого события HID он может передавать только одно событие один раз.
- Правильный код события и соответствующий код события должны быть получены при нажатии кнопки.
- Например, увеличить громкость. evtest может наблюдать только одно событие увеличения громкости, и код должен быть
KEY_VOLUME_UP
.
- Например, увеличить громкость. evtest может наблюдать только одно событие увеличения громкости, и код должен быть
- Если существует какой-либо интерфейс, предназначенный для обеспечения следующих функций, периферийное устройство USB должно поддерживать отправку или получение соответствующих событий HID в соответствии со спецификацией HID USB.org .
Страница потребителя (0x0c)
Имя ключа | Идентификатор использования HID | Тип использования |
---|---|---|
KEY_PLAY | 0x0b0 | ООС |
KEY_PAUSE | 0x0b1 | ООС |
KEY_NEXTSONG | 0x0b5 | ОСК |
KEY_PREVIOUSSONG | 0x0b6 | ОСК |
KEY_STOPCD | 0x0b7 | ОСК |
KEY_PLAYPAUSE | 0x0cd | ОСК |
KEY_PREVIOUSSONG | 0x0b6 | ОСК |
KEY_MUTE | 0x0e2 | ООС |
KEY_VOLUMEUP | 0x0e9 | РТК |
KEY_VOLUMEDOWN | 0x0ea | РТК |
Страница телефонии (0x0b)
Имя ключа | Идентификатор использования HID | Тип использования |
---|---|---|
Крючок Переключатель | 0x20 | ООС |
Звонок | 0x9e | ООС |
Страница светодиода (0x08)
Имя ключа | Идентификатор использования HID | Тип использования |
---|---|---|
Немой | 0x09 | ООС |
снять трубку | 0x17 | ООС |
Кольцо | 0x18 | ООС |
Джек Детектион
Если USB-устройство не поддерживает USB Audio Class (UAC), на панели задач ChromeOS всегда будет отображаться узел вывода. Однако если USB-устройство поддерживает UAC, система сможет правильно обнаружить аудиоразъем 3,5 мм при вставке устройства.
- CrOS Должен использовать обнаружение присутствия для разъемов 3,5 мм.
Аудио формат
Воспроизведение | Запись | |
---|---|---|
Частота дискретизации | ≥ 16 кГц | ≥ 16 кГц |
Формат | S16_LE | S16_LE |
- Номер канала и конфигурация должны быть правильными.
- Все частоты дискретизации, поддерживаемые гарнитурой, должны работать правильно.
- Отклонение между измеренной частотой и частотой дискретизации должно составлять ≤ 0,1%.
- Стандартная ошибка для линейной регрессии измеренной скорости должна быть < 30.
Гарнитура должна поддерживать воспроизведение или захват с различными частотами дискретизации, которые она поддерживает.
Например, воспроизводите звук с частотой ниже 44,1 кГц, но одновременно записывайте голос с частотой ниже 48 кГц.
- В противном случае ChromeOS требует добавить определенный файл конфигурации, чтобы предотвратить это на стороне системы.
Качество звука
Путь захвата — отключить звук
- Если существует какой-либо интерфейс, с помощью которого пользователи могут отключить звук аудиоустройства, он должен
- Поддерживайте режим отключения звука таким образом, чтобы на него не влияли:
- Открытие и закрытие устройства.
- Переключение на другое устройство ввода.
- Поддерживайте режим отключения звука таким образом, чтобы на него не влияли:
- Если пользователь нажимает кнопку отключения звука на гарнитуре или ChromeOS, состояние отключения звука должно измениться.
- Если состояние отключения звука изменится, индикатор состояния отключения звука (например, светодиод) на гарнитуре должен измениться.
Задержка звука
Задержка
- Выходная задержка
- Воспроизведение звука должно начинаться не позднее чем через 500 мс после действия пользователя, инициирующего воспроизведение.
- Может запросить отказ, если OEM-производитель устройства сможет доказать, что эхо не возникает, когда оно не соответствует этому требованию.
- Воспроизведение звука должно начинаться не позднее чем через 500 мс после действия пользователя, инициирующего воспроизведение.
А/В синхронизация
- Воспроизведение звука должно быть синхронизировано с воспроизведением видео. Воспроизведение звука может опережать видео на ≤25 мс или отставать от видео на ≤95 мс.
История изменений
Дата | Версия | Примечания |
---|---|---|
14.06.2024 | 1.2.1 | Получена спецификация, совместимая с ChromeOS. Первоначальная публикация на партнерском сайте. |
01.09.2022 | 1.2 | Соответствующая спецификация WWCB v1.2 |
06.06.2022 | 1.1 | Соответствующая спецификация WWCB v1.1 |
21 сентября 2020 г. | 1.0 | Создана соответствующая спецификация WWCB. |