ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
ชุดหูฟัง USB: ข้อกำหนดของอุปกรณ์เสริม
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
เอกสารประกอบนี้ระบุลักษณะบางอย่างของหูฟัง USB เพื่อให้หูฟังทำงานได้อย่างราบรื่นในระบบนิเวศของ Android อนุญาตให้ใช้เฉพาะชุดหูฟังที่มีอินเทอร์เฟซเสียง USB ดิจิทัลเท่านั้น ไม่อนุญาตให้ใช้ชุดหูฟังแบบอนาล็อกล้วนที่มีการปรับเปลี่ยนทางกลไกเป็น USB-C ตามข้อกำหนดของ USB Type-C
เอกสารประกอบนี้ระบุข้อกำหนดขั้นต่ำ โดยเราขอแนะนำให้ผู้ผลิตอุปกรณ์เสริมเพิ่มฟีเจอร์ต่างๆ โดยคำนึงถึงข้อกำหนดเหล่านี้
ภาพรวมฟังก์ชันการทำงาน
หูฟัง USB สามารถใช้ฟีเจอร์พื้นฐานและขั้นสูงได้หลากหลาย ข้อกําหนดนี้ครอบคลุมเฉพาะฟีเจอร์พื้นฐานที่จําเป็น ดังนี้
- เอาต์พุตสเตอริโอ
- ไมโครโฟน (ไม่บังคับแต่แนะนำ)
- ปุ่มฟังก์ชันสำหรับควบคุมระดับเสียง การเล่น และการโทร
ประเภทขั้วต่อของคลาสเสียง USB
หูฟังและเฮดเซ็ตต้องรายงานประเภทขั้วต่อ USB Audio Class (UAC) ต่อไปนี้
- หูฟัง ตัวแปลงสัญญาณที่มีความต้านทานต่ำ < 100 โอห์ม ไม่มีไมโครโฟน: 0x0302
- ชุดหูฟัง ตัวแปลงสัญญาณความต้านทานต่ำพร้อมไมโครโฟน: 0x0402
ฟังก์ชันการควบคุม
หูฟังอาจมีปุ่มจำนวนแตกต่างกันเพื่อควบคุมฟังก์ชันบางอย่าง เช่น ระดับเสียงและเล่น/หยุดชั่วคราว
ฟังก์ชันการควบคุม |
การสนับสนุนเกี่ยวกับอุปกรณ์เสริม |
คำอธิบาย |
ก |
ต้องระบุ |
เล่น/หยุดชั่วคราว (กดสั้นๆ), เปิดคำสั่งเสียง (กดค้างไว้), ถัดไป (กด 2 ครั้ง) |
B |
ไม่บังคับ |
Vol+ |
C |
ไม่บังคับ |
Vol- |
D |
ไม่บังคับ |
เปิดคำสั่งเสียง |
กำหนดฟังก์ชันให้กับปุ่มดังนี้
- หูฟังแบบปุ่มเดียวทั้งหมดต้องใช้ฟังก์ชัน A
- ชุดหูฟังที่มีปุ่มหลายปุ่มต้องใช้ฟังก์ชันตามรูปแบบต่อไปนี้
- 2 ฟังก์ชัน: A และ D
- ฟังก์ชัน 3 รายการ ได้แก่ ก, ข และ ค
- 4 ฟังก์ชัน: A, B, C, D
หมายเหตุ: ไม่อนุญาตให้ใช้ล็อกคีย์ การกดแป้นแต่ละครั้งของผู้ใช้ปลายทางต้องสร้างเหตุการณ์สำคัญ "ลง" และ "ขึ้น" ที่สอดคล้องกัน ซึ่งตรงกับการกระทําของผู้ใช้ปลายทาง กล่าวคือ แป้นสำหรับฟังก์ชัน A ถึง D จะไม่ "ติดอยู่" หรือติดตั้งใช้งานเพื่อใช้เป็นปุ่มเปิด/ปิด (โดยที่เหตุการณ์ "ขึ้น" จะตามหลังเหตุการณ์ "ลง" เท่านั้นเมื่อมีการกดแป้นครั้งที่ 2)
การแมปซอฟต์แวร์
ชุดหูฟัง USB ที่เข้ากันได้ต้องรองรับการแมปซอฟต์แวร์ต่อไปนี้สำหรับปุ่มของชุดหูฟัง อุปกรณ์จะจับคู่การแมป HID เหล่านี้กับรหัสแป้น Android ที่เหมาะสม
การทำงาน |
การแมป |
ก |
หน้าการใช้งาน 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 ตามที่ USB.org ระบุ
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ 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/)."]]