Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release
вместо aosp-main
для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
USB-гарнитура: Спецификация аксессуара
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
В этой документации указаны некоторые характеристики USB-гарнитур, чтобы они одинаково функционировали в экосистеме Android. Разрешены только гарнитуры с цифровым аудиоинтерфейсом USB. Чисто аналоговые гарнитуры с механической адаптацией к USB-C не допускаются согласно спецификации USB Type-C.
В этой документации указаны минимальные требования: производителям аксессуаров рекомендуется добавлять функции, учитывая эти требования.
Функциональный обзор
USB-гарнитуры могут реализовывать множество базовых и расширенных функций. Эта спецификация охватывает только обязательные базовые функции:
- Стерео выход
- Дополнительный, но рекомендуемый микрофон.
- Функциональные кнопки для регулировки громкости, воспроизведения и управления вызовами.
Типы разъемов USB Audio Class
Наушники и гарнитуры должны сообщать следующие типы разъемов USB Audio Class (UAC):
- Наушники . Датчики с низким импедансом, < 100 Ом, без микрофона: 0x0302
- Гарнитура . Низкоомные преобразователи с микрофоном: 0x0402
Функции управления
Гарнитуры могут иметь разное количество кнопок для управления определенными функциями, такими как громкость и воспроизведение/пауза.
Функция управления | Поддержка аксессуаров | Описание |
---|
А | Необходимый | Воспроизведение/пауза (короткое нажатие), запуск голосовой команды (длительное нажатие), следующий (двойное нажатие) |
Б | Необязательный | Том+ |
С | Необязательный | Том- |
Д | Необязательный | Запустить голосовую команду |
Назначьте функции кнопкам следующим образом:
- Все однокнопочные гарнитуры должны реализовывать функцию А.
- Гарнитуры с несколькими кнопками должны реализовывать функции по следующему шаблону:
- 2 функции: A и D
- 3 функции: A, B, C
- 4 функции: A, B, C, D
Примечание . Запирание ключа не допускается. Каждое нажатие клавиши конечным пользователем должно генерировать соответствующие события клавиш «вниз» и «вверх», соответствующие действию конечного пользователя. Другими словами, клавиши для функций от A до D никогда не «фиксируются» и не реализуются для использования в качестве переключателя (где событие «вверх» следует за событием «вниз» только при втором нажатии клавиши).
Сопоставление программного обеспечения
Совместимые USB-гарнитуры должны поддерживать следующие программные сопоставления кнопок гарнитуры. Устройства сопоставляют эти сопоставления HID с соответствующим кодом ключа Android.
Функция | Сопоставления |
---|
А | Страница использования HID: 0x0C Использование HID: 0x0CD |
Б | Страница использования HID: 0x0C Использование HID: 0x0E9 |
С | Страница использования HID: 0x0C Использование HID: 0x0EA |
Д | Страница использования HID: 0x0C Использование HID: 0x0CF |
Сопоставления клавиш должны быть объявлены в коллекции приложений HID. Для аксессуаров без микрофона используйте наушники (страница использования: Consumer (0x0C), использование: наушники (0x05)). Для аксессуаров с микрофоном используйте Гарнитуру (Страница использования: Телефония (0x0B), Использование: Гарнитура (0x05)).
Выходной уровень
Максимальный уровень звукового давления должен соответствовать всем нормативным требованиям страны назначения.
Механический
Производители аксессуаров должны соблюдать требования к разъемам USB, указанные на сайте USB.org .
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# USB headset: Accessory specification\n\nThis documentation specifies some characteristics of USB headsets, so that\nthey function uniformly across the Android ecosystem. Only headsets with\ndigital USB audio interface are permitted. Purely analog headsets with\nmechanical adaptation to USB-C are not permitted, as per USB Type-C\nspecification.\n\n\nThis documentation specifies the minimum requirements: accessory manufacturers\nare encouraged to add features while keeping these requirements in mind.\n\nFunctional overview\n-------------------\n\n\nUSB headsets can implement a variety of basic and advanced features. This\nspecification only covers mandated basic features:\n\n- Stereo output\n- Optional, but recommended, microphone\n- Function buttons for volume, playback, and call control\n\nUSB Audio Class terminal types\n------------------------------\n\n\nHeadphones and headsets must report these USB Audio Class (UAC) terminal types:\n\n- **Headphones**. Low impedance transducers, \\\u003c 100 ohms, no microphone: 0x0302\n- **Headset**. Low impedance transducers with microphone: 0x0402\n\nControl functions\n-----------------\n\nHeadsets can come with varying number of buttons to control specific\nfunctions, such as volume and play/pause.\n\n\n| Control function | Accessory Support | Description |\n|------------------|-------------------|----------------------------------------------------------------------------------|\n| A | Required | Play/pause (short press), launch voice command (long press), next (double press) |\n| B | Optional | Vol+ |\n| C | Optional | Vol- |\n| D | Optional | Launch voice command |\n\n\n**Assign functions to buttons as follows:**\n\n- All one-button headsets must implement Function A.\n- Headsets with multiple buttons must implement functions according to the following pattern:\n - 2 functions: A and D\n - 3 functions: A, B, C\n - 4 functions: A, B, C, D\n\n\n**Note**: No key latching allowed. Each key press by the end user\nmust generate the corresponding \"down\" and \"up\" key event, matching the end user\naction. In other words, the keys for functions A through D are never \"latched\"\nor implemented to be used as a toggle (where the \"up\" event only follows \"down\"\non a second key press).\n\nSoftware mapping\n----------------\n\n\nCompatible USB headsets are required to support the following software mappings\nfor the headset buttons. Devices match these HID mappings with the appropriate\nAndroid keycode.\n\n| Function | Mappings |\n|----------|---------------------------------------|\n| A | HID usage page: 0x0C HID usage: 0x0CD |\n| B | HID usage page: 0x0C HID usage: 0x0E9 |\n| C | HID usage page: 0x0C HID usage: 0x0EA |\n| D | HID usage page: 0x0C HID usage: 0x0CF |\n\nKey mappings should be declared within a HID application\ncollection. For accessories without a microphone, use Headphone (Usage\nPage: Consumer (0x0C), Usage: Headphone (0x05)). For accesories with a\nmicrophone, use Headset (Usage Page: Telephony (0x0B), Usage: Headset (0x05)).\n\nOutput level\n------------\n\n\nThe maximum sound pressure level shall comply to any regulatory requirement in\nthe country of destination.\n\nMechanical\n----------\n\n\nAccessory manufacturers must follow the requirements for USB connectors\nas specified by [USB.org](http://www.usb.org/)."]]