2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
USB 헤드셋: 액세서리 사양
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 문서에서는 Android 헤드셋이 Android 생태계 전체에서 동일하게 작동하도록 몇 가지 특성을 설명합니다. 디지털 USB 오디오 인터페이스가 있는 헤드셋만 사용할 수 있습니다. USB-C에 기계적으로 적응된 순수 아날로그 헤드셋은 USB Type-C 사양에 따라 사용할 수 없습니다.
이 문서에서는 최소 요구사항을 명시합니다. 액세서리 제조업체는 이러한 요구사항을 염두에 두고 기능을 추가하는 것이 좋습니다.
기능 개요
USB 헤드셋은 다양한 기본 기능 및 고급 기능을 구현할 수 있습니다. 이 사양에서는 필수 기본 기능만 다룹니다.
- 스테레오 출력
- 선택사항이지만 마이크가 권장됨
- 볼륨, 재생 및 통화 제어를 위한 기능 버튼
USB 오디오 등급 터미널 유형
헤드폰과 헤드셋은 다음 USB 오디오 등급(UAC) 단말기 유형을 보고해야 합니다.
- 헤드폰. 낮은 임피던스 트랜스듀서, 100Ω 미만, 마이크 없음: 0x0302
- 헤드셋 마이크가 있는 낮은 임피던스 트랜스듀서: 0x0402
제어 기능
헤드셋에는 볼륨, 재생, 일시 정지 등 기능을 제어할 수 있는 다양한 버튼이 있습니다.
제어 기능 |
액세서리 지원 |
설명 |
A |
필수 |
재생/일시중지(짧게 누르기), 음성 명령 실행(길게 누르기), 다음(두 번 누르기) |
B |
선택사항 |
볼륨 높이기 |
C |
선택사항 |
볼륨 낮추기 |
D |
선택사항 |
음성 명령 실행 |
버튼에 기능을 할당하는 방법은 다음과 같습니다.
- 버튼이 하나인 모든 헤드셋은 기능 A를 구현해야 합니다.
- 버튼이 여러 개인 헤드셋은 다음 패턴에 따라 기능을 구현해야 합니다.
- 2가지 기능: A와 D
- 3가지 기능: A, B, C
- 4가지 기능: A, B, C, D
참고: 키 래칭은 허용되지 않습니다. 최종 사용자가 키를 누를 때마다 최종 사용자 작업과 일치하는 상응하는 'down' 및 'up' 키 이벤트를 생성해야 합니다. 즉, 기능 A~D의 키는 결코 '래칭'되거나 토글로 사용되지 않습니다(두 번째 키 누름에서 'up' 이벤트는 'down'만 따름).
소프트웨어 매핑
호환되는 USB 헤드셋은 헤드셋 버튼에 다음과 같은 소프트웨어 매핑을 지원해야 합니다. 기기는 이러한 HID 매핑을 적절한 Android 키 코드와 일치시킵니다.
기능 |
매핑 |
A |
HID 사용 페이지: 0x0C
HID 사용: 0x0CD |
B |
HID 사용 페이지: 0x0C
HID 사용: 0x0E9 |
C |
HID 사용 페이지: 0x0C
HID 사용: 0x0EA |
D |
HID 사용 페이지: 0x0C
HID 사용: 0x0CF |
키 매핑은 HID 애플리케이션 컬렉션 내에서 선언되어야 합니다. 마이크가 없는 액세서리는 헤드폰(사용 페이지: 소비자(0x0C), 사용: 헤드폰(0x05))을 사용합니다. 마이크가 있는 액세서리의 경우 헤드셋(사용 페이지: 전화 통신(0x0B), 사용: 헤드셋(0x05))을 사용합니다.
출력 레벨
최대 음압 레벨은 목적지 국가의 규제 요구사항을 준수해야 합니다.
기계적
액세서리 제조업체는 USB.org에서 지정한 USB 커넥터 요구사항을 준수해야 합니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(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-27(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/)."]]