2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
USB 헤드셋: 기기 사양
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
USB 헤드셋이 Android 생태계에서 원활하게 작동하려면 Android 기기가 이를 동일하게 지원해야 합니다. 이 문서에서는 Android 생태계에서 USB 헤드셋과 어댑터를 지원하는 USB 동작을 지정합니다.
소프트웨어 매핑
호환 가능한 USB 헤드셋은 호환 가능한 HID 매핑을 지원해야 합니다.
기기 지원은 다음 키 코드 매핑에 필요합니다.
기능 |
매핑 |
맥락 |
동작 |
A |
HID 사용 페이지: 0x0C HID 사용: 0x0CD 커널 키: KEY_PLAYPAUSE Android 키: KEYCODE_MEDIA_PLAY_PAUSE |
미디어 재생 |
입력: 짧게 누르기 출력: 재생 또는 일시중지 |
입력: 길게 누르기 출력: 음성 명령 실행 전송: 기기가 잠겨 있거나 화면이 꺼진 경우 android.speech.action.VOICE_SEARCH_HANDS_FREE 전송, 나머지 경우 android.speech.RecognizerIntent.ACTION_WEB_SEARCH 전송 |
수신 전화 |
입력: 짧게 누르기 출력: 통화 수락 |
입력: 길게 누르기 출력: 통화 거부 |
진행 중인 통화 |
입력: 짧게 누르기 출력: 통화 종료 |
입력: 길게 누르기 출력: 마이크 음소거 또는 음소거 해제 |
B |
HID 사용 페이지: 0x0C HID 사용: 0x0E9 커널 키: KEY_VOLUMEUP Android 키: VOLUME_UP |
미디어 재생, 진행 중인 통화 |
입력: 짧게 또는 길게 누르기 출력: 시스템 또는 헤드셋 볼륨 증가 |
C |
HID 사용 페이지: 0x0C HID 사용: 0x0EA 커널 키: KEY_VOLUMEDOWN Android 키: VOLUME_DOWN |
미디어 재생, 진행 중인 통화 |
입력: 짧게 또는 길게 누르기 출력: 시스템 또는 헤드셋 볼륨 감소 |
D |
HID 사용 페이지: 0x0C HID 사용: 0x0CF 커널 키: KEY_VOICECOMMAND Android 키: KEYCODE_VOICE_ASSIST |
전체. 모든 인스턴스에서 트리거될 수 있습니다. |
입력: 짧게 또는 길게 누르기 출력: 음성 명령 실행 |
하드웨어
기기 제조업체의 경우 Android 기기의 USB 구현에 관한 자세한 내용은 USB 디지털 오디오도 참고하세요. 기기 제조업체는 Android CDD의 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: Device specification\n\nFor USB headsets to work seamlessly across the Android ecosystem, Android\ndevices must support them uniformly. This documentation specifies USB\nbehavior to support USB headsets and adapters across the Android ecosystem.\n\nSoftware mapping\n----------------\n\n\nCompatible USB headsets are required to support compatible HID mappings.\nDevice support is required for the following keycode mappings.\n\n| Function | Mappings | Context | Behavior |\n|----------|-------------------------------------------------------------------------------------------------------------------------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| A | **HID usage page** : 0x0C **HID usage** : 0x0CD **Kernel key** : `KEY_PLAYPAUSE` **Android key** : `KEYCODE_MEDIA_PLAY_PAUSE` | Media playback | **Input** : Short press **Output**: Play or pause |\n| A | **HID usage page** : 0x0C **HID usage** : 0x0CD **Kernel key** : `KEY_PLAYPAUSE` **Android key** : `KEYCODE_MEDIA_PLAY_PAUSE` | Media playback | **Input** : Long press **Output** : Launch voice command **Sends** : `android.speech.action.VOICE_SEARCH_HANDS_FREE` if the device is locked or its screen is off. Sends `android.speech.RecognizerIntent.ACTION_WEB_SEARCH` otherwise |\n| A | **HID usage page** : 0x0C **HID usage** : 0x0CD **Kernel key** : `KEY_PLAYPAUSE` **Android key** : `KEYCODE_MEDIA_PLAY_PAUSE` | Incoming call | **Input** : Short press **Output**: Accept call |\n| A | **HID usage page** : 0x0C **HID usage** : 0x0CD **Kernel key** : `KEY_PLAYPAUSE` **Android key** : `KEYCODE_MEDIA_PLAY_PAUSE` | Incoming call | **Input** : Long press **Output**: Reject call |\n| A | **HID usage page** : 0x0C **HID usage** : 0x0CD **Kernel key** : `KEY_PLAYPAUSE` **Android key** : `KEYCODE_MEDIA_PLAY_PAUSE` | Ongoing call | **Input** : Short press **Output**: End call |\n| A | **HID usage page** : 0x0C **HID usage** : 0x0CD **Kernel key** : `KEY_PLAYPAUSE` **Android key** : `KEYCODE_MEDIA_PLAY_PAUSE` | Ongoing call | **Input** : Long press **Output**: Mute or unmute microphone |\n| B | **HID usage page** : 0x0C **HID usage** : 0x0E9 **Kernel key** : `KEY_VOLUMEUP` **Android key** : `VOLUME_UP` | Media playback, Ongoing call | **Input** : Short or long press **Output**: Increases the system or headset volume |\n| C | **HID usage page** : 0x0C **HID usage** : 0x0EA **Kernel key** : `KEY_VOLUMEDOWN` **Android key** : `VOLUME_DOWN` | Media playback, Ongoing call | **Input** : Short or long press **Output**: Decreases the system or headset volume |\n| D | **HID usage page** : 0x0C **HID usage** : 0x0CF **Kernel key** : `KEY_VOICECOMMAND` **Android key** : `KEYCODE_VOICE_ASSIST` | All. Can be triggered in any instance. | **Input** : Short or long press **Output**: Launch voice command |\n\nHardware\n--------\n\n\nDevice manufacturers should also see\n[USB digital audio](/docs/core/audio/usb) for more\ninformation about USB implementation on Android. Device manufacturers must also\nfollow the requirements in the\n[USB section](/docs/compatibility/13/android-13-cdd#77_usb) of the Android CDD."]]