อุปกรณ์ช่วยฟัง (HA) สามารถปรับปรุงการช่วยเหลือพิเศษใน อุปกรณ์เคลื่อนที่ Android ที่ใช้ L2CAP แบบใช้การเชื่อมต่อ ช่องสัญญาณ (CoC) ผ่านบลูทูธพลังงานต่ำ (BLE) CoC ใช้ยางยืด บัฟเฟอร์ของแพ็กเก็ตเสียงหลายแพ็กเพื่อให้เสียงไหลต่อเนื่องแม้ เมื่อมีการสูญเสียแพ็กเก็ต บัฟเฟอร์นี้ให้คุณภาพเสียงสำหรับ เครื่องช่วยฟังที่ลดเวลาในการตอบสนอง
การออกแบบของ CoC อ้างอิงถึง บลูทูธ ข้อกําหนดหลักเวอร์ชัน 5 (BT) เพื่อให้สอดคล้องกับข้อกำหนดหลัก แบบหลายไบต์ทั้งหมด ค่าในหน้านี้จะต้องอ่านเป็น Little-endian
คำศัพท์
- Central - อุปกรณ์ Android ที่สแกนหา โฆษณาผ่านบลูทูธ
- อุปกรณ์ต่อพ่วง - เครื่องช่วยฟังที่ส่ง แพ็กเก็ตโฆษณาผ่านบลูทูธ
โทโพโลยีเครือข่ายและสถาปัตยกรรมระบบ
เมื่อใช้ CoC สำหรับเครื่องช่วยฟัง โทโพโลยีเครือข่ายจะถือว่า ส่วนกลาง และอุปกรณ์ต่อพ่วงอีก 2 ชิ้น โดยด้านซ้ายและข้างขวา ตามที่เห็นใน รูปที่ 1 ระบบเสียงบลูทูธมองทางซ้าย และอุปกรณ์ต่อพ่วงด้านขวาเป็นซิงก์เดียว หากอุปกรณ์ต่อพ่วงคือ เนื่องจากความพอดีของเสียงเดี่ยวหรือการเชื่อมต่อหลุด Central จะผสมผสานช่องสัญญาณเสียงด้านซ้ายและขวาและส่งไฟล์เสียง กับอุปกรณ์ต่อพ่วงที่เหลือ หากตัวส่วนกลางขาดการเชื่อมต่อกับทั้ง 2 เครื่อง อุปกรณ์ต่อพ่วง ส่วนกลางจะพิจารณาลิงก์ไปยังซิงก์เสียง แพ้ ในกรณีดังกล่าว ส่วนกลางจะกำหนดเส้นทางเสียงไปยังเอาต์พุตอื่น
รูปที่ 1 โทโพโลยีสำหรับการจับคู่เครื่องช่วยฟังกับเครื่องช่วยฟัง
อุปกรณ์เคลื่อนที่ Android ที่ใช้ CoC ผ่าน BLE
เมื่อศูนย์กลางไม่ได้สตรีมข้อมูลเสียงไปยังอุปกรณ์ต่อพ่วงและสามารถ รักษาการเชื่อมต่อ BLE ไว้ ส่วนกลางไม่ควรตัดการเชื่อมต่อจาก อุปกรณ์ต่อพ่วง การรักษาการเชื่อมต่อจะช่วยให้การสื่อสารข้อมูล ไปยังเซิร์ฟเวอร์ GATT ที่อยู่ในอุปกรณ์ต่อพ่วง
เมื่อจับคู่และเชื่อมต่ออุปกรณ์ช่วยฟัง ส่วนกลางจะดำเนินการดังนี้
- ติดตามอุปกรณ์ต่อพ่วงด้านซ้ายและขวาล่าสุดที่จับคู่แล้ว
- สมมติว่าอุปกรณ์ต่อพ่วงทำงานอยู่ หากมีการจับคู่ที่ถูกต้องอยู่ Central จะพยายามเชื่อมต่อหรือเชื่อมต่อกับ อุปกรณ์เมื่อการเชื่อมต่อขาดหาย
- สมมติว่าไม่มีการใช้อุปกรณ์ต่อพ่วงแล้วหากลบการจับคู่
ในกรณีข้างต้น การจับคู่หมายถึงการกระทำของ การลงทะเบียนชุดเครื่องช่วยฟังด้วย UUID ที่กำหนดและ ตัวระบุซ้าย/ขวาในระบบปฏิบัติการ ไม่ใช่ขั้นตอนการจับคู่บลูทูธ
ข้อกำหนดของระบบ
เพื่อใช้ CoC อย่างเหมาะสมเพื่อให้ผู้ใช้ได้รับประสบการณ์ที่ดี บลูทูธ ระบบในส่วนกลางและอุปกรณ์ต่อพ่วงต้องมีลักษณะดังนี้
- ใช้ตัวควบคุมที่เป็นไปตามข้อกำหนดของ BT 4.2 ขึ้นไป การเชื่อมต่อ LE Secure คือ ขอแนะนำเป็นอย่างยิ่ง
- มีการสนับสนุนส่วนกลางของลิงก์ LE พร้อมกันอย่างน้อย 2 ลิงก์พร้อมด้วยพารามิเตอร์ ที่อธิบายไว้ใน แพ็คเก็ตเสียง รูปแบบและช่วงเวลา
- มีการรองรับอุปกรณ์ต่อพ่วงอย่างน้อย 1 ลิงก์ LE พร้อมพารามิเตอร์ ที่อธิบายไว้ใน แพ็คเก็ตเสียง รูปแบบและช่วงเวลา
- มีการควบคุมโฟลว์ตามเครดิต LE [BT Vol 3, ส่วน A, วินาที 10.1] อุปกรณ์ต้องรองรับขนาด MTU และ MPS อย่างน้อย 167 ไบต์ใน CoC และบัฟเฟอร์แพ็กเก็ตได้สูงสุด 8 แพ็กเก็ต
- มีการขยายความยาวของข้อมูล LE [BT Vol 6, ส่วน B, วินาที 5.1.9] พร้อมด้วย เพย์โหลดขนาดอย่างน้อย 167 ไบต์
-
ให้อุปกรณ์ส่วนกลางรองรับคำสั่ง HCI LE Connection Update
และปฏิบัติตามนโยบาย
maximum_CE_Length
และminimum_CE_Length
พารามิเตอร์ - ให้ส่วนกลางรักษาอัตราการส่งข้อมูลสำหรับการเชื่อมต่อ LE CoC 2 รายการเป็น อุปกรณ์ต่อพ่วงต่างๆ ที่มีช่วงการเชื่อมต่อและเพย์โหลด ขนาดในแพ็กเก็ตเสียง รูปแบบและช่วงเวลา
-
ให้อุปกรณ์ต่อพ่วงตั้งค่า
MaxRxOctets
และ พารามิเตอร์MaxRxTime
รายการในLL_LENGTH_REQ
หรือLL_LENGTH_RSP
เฟรมเป็นค่าที่น้อยที่สุดที่จำเป็น ที่จำเป็นสำหรับข้อกำหนดเหล่านี้ ซึ่งช่วยให้ศูนย์กลาง เพิ่มประสิทธิภาพเครื่องจัดตารางเวลาเมื่อคำนวณระยะเวลา ต้องรับเฟรม
ขอแนะนำเป็นอย่างยิ่งให้รองรับ 2MB PHY จากส่วนกลางและอุปกรณ์ต่อพ่วง ที่ระบุไว้ในข้อมูลจำเพาะของ BT 5.0 ส่วนกลางจะสนับสนุนลิงก์เสียงของ อย่างน้อย 64 kbit/s สำหรับทั้ง 1 ล้านและ 2M PHY ห้ามใช้ PHY แบบช่วงยาว BLE
CoC ใช้กลไกบลูทูธมาตรฐานสำหรับการเข้ารหัสเลเยอร์ลิงก์ และการเลือกความถี่
บริการ ASHA GATT
อุปกรณ์ต่อพ่วงจะต้องใช้งานสตรีมมิงเสียงสำหรับเครื่องช่วยฟัง (ASHA) บริการของเซิร์ฟเวอร์ GATT ตามที่อธิบายไว้ด้านล่าง อุปกรณ์ต่อพ่วงต้อง โฆษณาบริการนี้เมื่ออยู่ในโหมดที่ค้นพบได้ทั่วไปเพื่อให้ Central จะจดจำซิงก์เสียง การดำเนินการสตรีมมิง LE Audio จะต้องเข้ารหัส การสตรีมเสียง BLE ประกอบด้วย ลักษณะเฉพาะต่อไปนี้
ลักษณะเฉพาะ | คุณสมบัติ | คำอธิบาย |
---|---|---|
พร็อพเพอร์ตี้อ่านอย่างเดียว | อ่านแล้ว | โปรดดู ReadOnlyProperties |
จุดควบคุมเสียง | เขียนและเขียนโดยไม่มีคำตอบ | จุดควบคุมสำหรับสตรีมเสียง โปรดดู AudioControlPoint |
จุดสถานะเสียง | อ่าน/แจ้งเตือน | ช่องรายงานสถานะสำหรับจุดควบคุมเสียง โปรดดู AudioStatusPoint |
ระดับเสียง | เขียนโดยไม่มีคำตอบ | ไบต์ระหว่าง -128 ถึง 0 ระบุจำนวนของการลดทอนที่จะใช้กับ สัญญาณเสียงที่สตรีมมีค่าตั้งแต่ -48 dB ถึง 0 dB การเกริ่นนำ -128 จะถือว่าเป็นเสียงปิดเสียงทั้งหมด กล่าวคือระดับเสียงที่ไม่ปิดเสียงต่ำสุด ระดับคือ -127 ซึ่งเทียบเท่ากับความเบาของสัญญาณ -47.625 dB ที่การตั้งค่า 0 เสียงไซน์ระหว่างรางไปจนถึงรถไฟที่สตรีมจะแสดงอินพุต 100 dBSPL เทียบเท่าบนเครื่องช่วยฟัง ตัวกลางจะสตรีมโดยใช้ค่ากลาง ขนาดเต็มและใช้ตัวแปรนี้เพื่อกำหนดระดับการนำเสนอที่ต้องการใน อุปกรณ์ต่อพ่วง |
LE_PSM_OUT | อ่านแล้ว | PSM ที่จะใช้ในการเชื่อมต่อช่องเสียง โดยเลือกจาก ช่วงไดนามิก [BT Vol 3, ส่วน A, วินาที 4.22] |
UUID ที่กำหนดให้กับบริการและลักษณะมีดังนี้
UUID บริการ: {0xFDF0}
ลักษณะเฉพาะ | UUID |
---|---|
พร็อพเพอร์ตี้อ่านอย่างเดียว | {6333651e-c481-4a3e-9169-7c902aad37bb} |
จุดควบคุมเสียง | {f0d4de7e-4a88-476c-9d9f-1937b0996cc0} |
สถานะเสียง | {38663f1a-e711-4cac-b641-326b56404837} |
ระดับเสียง | {00e4ca9e-ab14-41e4-8823-f9e70c7e91df} |
LE_PSM_OUT | {2d410339-82b6-42aa-b34e-e2e01df8cc1a} |
นอกเหนือจากบริการ ASHA GATT แล้ว อุปกรณ์ต่อพ่วง ใช้บริการข้อมูลอุปกรณ์ เพื่อให้ส่วนกลางตรวจพบ ชื่อผู้ผลิตและชื่ออุปกรณ์ของอุปกรณ์ต่อพ่วง
พร็อพเพอร์ตี้อ่านอย่างเดียว
ReadOnlyProperties มีค่าต่อไปนี้
ไบต์ | คำอธิบาย |
---|---|
0 | เวอร์ชัน - ต้องเป็น 0x01 |
1 | โปรดดู DeviceCapabilities |
2-9 | โปรดดู HiSyncId |
10 | โปรดดู FeatureMap |
11-12 | RenderDelay เวลานี้คือเวลาในหน่วยมิลลิวินาทีนับจากเมื่อ อุปกรณ์ต่อพ่วงได้รับเฟรมเสียงจนกว่าอุปกรณ์ต่อพ่วงแสดงผล เอาต์พุต ไบต์เหล่านี้สามารถใช้เพื่อหน่วงเวลาวิดีโอเพื่อ ซิงค์กับเสียง |
13-14 | สงวนไว้สำหรับการใช้งานในอนาคต กำหนดค่าเริ่มต้นเป็น 0 |
15-16 | รหัสตัวแปลงรหัสที่รองรับ นี่คือบิตมาสก์ ของรหัสตัวแปลงรหัสที่รองรับ ค่า 1 ในตำแหน่งบิตสอดคล้องกับ ตัวแปลงรหัสที่รองรับ เช่น 0x0002 ระบุว่า G.722 ที่ 16 kHz ได้ บิตอื่นๆ ทั้งหมดจะต้องตั้งค่าเป็น 0 |
ความสามารถของอุปกรณ์
ดอกสว่าน | คำอธิบาย |
---|---|
0 | ด้านอุปกรณ์ (0: ซ้าย, 1: ขวา) |
1 | ระบุว่าอุปกรณ์เป็นแบบสแตนด์อโลนและรับข้อมูลแบบโมโน หรือผ่าน อุปกรณ์เป็นส่วนหนึ่งของกลุ่ม (0: เสียงเดี่ยว, 1: ไบนารี) |
2 | อุปกรณ์รองรับ CSIS (0: ไม่รองรับ, 1: รองรับ) |
3-7 | จองแล้ว (ตั้งค่าเป็น 0) |
รหัส HiSync
ช่องนี้ต้องไม่ซ้ำสำหรับอุปกรณ์ Binaural ทั้งหมด แต่จะต้องระบุค่า สำหรับชุดซ้ายและขวา
ไบต์ | คำอธิบาย |
---|---|
0-1 | รหัสของผู้ผลิต ซึ่งเป็น บริษัท ตัวระบุที่กำหนดโดย BTSIG |
2-7 | รหัสที่ไม่ซ้ำกันซึ่งใช้ระบุชุดเครื่องช่วยฟัง ต้องตั้งค่ารหัสนี้ ที่เท่ากันทั้งด้านซ้ายและด้านขวา |
FeatureMap
ดอกสว่าน | คำอธิบาย |
---|---|
0 | รองรับการสตรีมเอาต์พุตเสียง LE CoC (ใช่/ไม่) |
1-7 | สงวนไว้ (ตั้งค่าเป็น 0) |
รหัสตัวแปลงรหัส
หากมีการตั้งค่าบิตไว้ ตัวแปลงรหัสดังกล่าวก็จะสนับสนุน
หมายเลขประจําตัว | ตัวแปลงรหัสและอัตราการสุ่มตัวอย่าง | อัตราบิตที่กำหนด | เวลาที่ใช้ในการแสดงผลเฟรม | บังคับบนกล่องกลาง (C) หรืออุปกรณ์ต่อพ่วง (P) |
---|---|---|---|---|
0 | สงวนไว้ | สงวนไว้ | สงวนไว้ | สงวนไว้ |
1 | G.722 ที่ 16 kHz | 64 กิโลบิต/วินาที | ตัวแปร | C และ P |
สงวนไว้ 2-15 รายการ 0 ก็สงวนไว้เช่นกัน |
จุดควบคุมเสียง
ใช้จุดควบคุมนี้ไม่ได้เมื่อปิด LE CoC โปรดดู การเริ่มต้นและ การหยุดสตรีมเสียงสำหรับคำอธิบายกระบวนการ
ออปโค้ด | อาร์กิวเมนต์ | ขั้นตอนย่อยของ GATT | คำอธิบาย |
---|---|---|---|
1 «Start» |
|
เขียนพร้อมตอบกลับและรอรับการแจ้งเตือนสถานะเพิ่มเติมผ่าน ลักษณะเฉพาะ AudioStatusPoint |
สั่งให้อุปกรณ์ต่อพ่วงรีเซ็ตตัวแปลงรหัสและเริ่ม
การเล่นเฟรม 0 ฟิลด์ตัวแปลงรหัสจะระบุรหัสตัวแปลงรหัสที่จะใช้
สำหรับการเล่นครั้งนี้
เช่น ช่องตัวแปลงรหัสคือ "1" สำหรับ G.722 ที่ 16k Hz ฟิลด์บิตประเภทเสียงระบุประเภทเสียงที่มีอยู่ ในสตรีม:
อุปกรณ์ต่อพ่วงต้องไม่ขออัปเดตการเชื่อมต่อก่อน ได้รับรหัสดำเนินการ «Stop» แล้ว
|
2 «Stop» |
ไม่มี | เขียนพร้อมตอบกลับและรอรับการแจ้งเตือนสถานะเพิ่มเติมผ่าน ลักษณะเฉพาะ AudioStatusPoint | สั่งให้อุปกรณ์ต่อพ่วงหยุดแสดงผลเสียง เสียงใหม่ ลำดับการตั้งค่าควรเริ่มต้นหลังจากการหยุดนี้ เพื่อเรนเดอร์เสียงอีกครั้ง |
3 «Status» |
|
เขียนโดยไม่มีคำตอบ |
แจ้งอุปกรณ์ต่อพ่วงที่เชื่อมต่อว่ามีการอัปเดตสถานะในอุปกรณ์
อุปกรณ์ต่อพ่วงอื่นๆ ฟิลด์ที่เชื่อมต่อจะระบุประเภทของการอัปเดต ดังนี้
|
จุดสถานะเสียง
ช่องรายงานสถานะสำหรับจุดควบคุมเสียง
Opcode | คำอธิบาย |
---|---|
0 | สถานะปกติ |
-1 | คำสั่งที่ไม่รู้จัก |
-2 | พารามิเตอร์ไม่ถูกต้อง |
โฆษณาบริการ ASHA GATT
UUID ของบริการต้องอยู่ในไฟล์ ชุดโฆษณา ในโฆษณาหรือการสแกน เฟรมตอบกลับ อุปกรณ์ต่อพ่วงต้องมีข้อมูลบริการ:
การชดเชยไบต์ | ชื่อ | คำอธิบาย |
---|---|---|
0 | ความยาวโฆษณา | >= 0x09 |
1 | ประเภท AD | 0x16 (ข้อมูลบริการ - UUID 16 บิต) |
2-3 | UUID ของบริการ |
0xFDF0 (Little-endian) หมายเหตุ: รหัสนี้เป็นรหัสชั่วคราว |
4 | เวอร์ชันของโปรโตคอล | 0x |
5 | ความสามารถ |
|
6-9 | HiSyncID ที่ถูกตัด | 4 ไบต์ที่สำคัญที่สุดของ HiSyncId ไบต์เหล่านี้ควรเป็นส่วนที่สุ่มที่สุดของรหัส |
อุปกรณ์ต่อพ่วงต้องมีชื่อท้องถิ่นแบบเต็ม ประเภทข้อมูลที่ระบุชื่อของเครื่องช่วยฟัง ชื่อนี้จะ ในอินเทอร์เฟซผู้ใช้ของอุปกรณ์เคลื่อนที่ เพื่อให้ผู้ใช้สามารถเลือก อุปกรณ์ที่ใช่ ชื่อไม่ควรระบุถึงข้างซ้ายหรือขวา ช่องนี้ เนื่องจากข้อมูลนี้มีการระบุไว้ใน DeviceCapabilities
หากอุปกรณ์ต่อพ่วงใส่ชื่อและประเภทข้อมูลบริการ ASHA เดียวกัน ประเภทเฟรม (ADV หรือ SCAN RESP) จากนั้นเลือกข้อมูล 2 ประเภท ("ชื่อในเครื่องแบบเต็ม" และ "ข้อมูลบริการสำหรับบริการ ASHA") จะปรากฏขึ้น ให้อยู่ในเฟรมเดียวกัน วิธีนี้จะช่วยให้เครื่องสแกนอุปกรณ์เคลื่อนที่ได้รับข้อมูลทั้ง 2 แบบ ในผลการสแกนเดียวกัน
ระหว่างการจับคู่ครั้งแรก อุปกรณ์ต่อพ่วง โฆษณาในอัตราที่รวดเร็วจนทำให้อุปกรณ์เคลื่อนที่ ให้ค้นพบอุปกรณ์ต่อพ่วงและยึดติดไว้กับอุปกรณ์ต่อพ่วง
ซิงค์ข้อมูลอุปกรณ์ต่อพ่วงด้านซ้ายและขวา
อุปกรณ์ต่อพ่วงเพื่อทำงานกับบลูทูธในอุปกรณ์เคลื่อนที่ Android มีหน้าที่ตรวจสอบว่ามีการซิงค์ การเล่น ต้องซิงค์ข้อมูลของอุปกรณ์ต่อพ่วงด้านซ้ายและขวา อุปกรณ์ต่อพ่วงทั้ง 2 ชิ้นต้องเล่นตัวอย่างเสียงจาก แหล่งข้อมูลในเวลาเดียวกัน
อุปกรณ์ต่อพ่วงจะซิงค์ข้อมูลเวลาได้โดยใช้ลำดับ หมายเลขที่เพิ่มด้านหน้าแต่ละแพ็กเก็ตของเพย์โหลดเสียง ภาคกลาง ช่วยรับประกันว่าแพ็กเก็ตเสียง ที่ควรจะเล่นในเวลาเดียวกัน เวลาของอุปกรณ์ต่อพ่วงแต่ละเครื่องจะมีหมายเลขลำดับเท่ากัน ลำดับ ตัวเลขจะเพิ่มขึ้นทีละ 1 ตัวหลังจากแพ็กเก็ตเสียงแต่ละแพ็ก แต่ละลำดับ ตัวเลขยาว 8 บิต ตัวเลขลำดับจะปรากฏซ้ำหลังจาก 256 ของแพ็กเก็ตเสียง เนื่องจากขนาดแพ็กเก็ตเสียงและอัตราการสุ่มตัวอย่างแต่ละขนาดคงที่ สำหรับแต่ละการเชื่อมต่อ อุปกรณ์ต่อพ่วงทั้งสองจะอนุมานความสัมพันธ์ ได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพ็กเก็ตเสียง โปรดดู รูปแบบแพ็กเก็ตเสียงและ ช่วงเวลา
จากส่วนกลางช่วยโดยมอบตัวทริกเกอร์ให้กับอุปกรณ์ไบนารีเมื่อมีการซิงค์ อาจจำเป็นต้องเกิดขึ้น ตัวทริกเกอร์เหล่านี้จะแจ้งสถานะของอุปกรณ์ต่อพ่วงแต่ละเครื่อง อุปกรณ์ต่อพ่วงที่จับคู่ไว้เมื่อใดก็ตามที่มีการดำเนินการที่ อาจส่งผลต่อการซิงค์ข้อมูล ทริกเกอร์มีดังนี้
-
เนื่องจากเป็นส่วนหนึ่งของคำสั่ง
«Start»
ของ AudioControlPoint สถานะการเชื่อมต่อปัจจุบันของ Binaural อีกด้าน ให้อุปกรณ์เหล่านี้ -
เมื่อใดก็ตามที่มีการเชื่อมต่อ ตัดการเชื่อมต่อ หรือ
การดำเนินการอัปเดตพารามิเตอร์การเชื่อมต่อในอุปกรณ์ต่อพ่วง 1 ชิ้น
ระบบจะส่งคำสั่ง
«Status»
ของ AudioControlPoint ไปยัง อีกด้านหนึ่งของอุปกรณ์ Binaural
รูปแบบและช่วงเวลาของแพ็กเก็ตเสียง
การรวมเฟรมเสียง (บล็อกตัวอย่าง) ลงในแพ็กเก็ตช่วยให้การได้ยิน เครื่องมือดึงข้อมูลการจับเวลาจาก Anchor การจับเวลาของเลเยอร์ลิงก์ ถึง ทำให้การติดตั้งใช้งานง่ายขึ้น:
- เฟรมเสียงควรตรงกับช่วงเวลาของการเชื่อมต่อเสมอ ตัวอย่างเช่น หากช่วงเวลาการเชื่อมต่อเท่ากับ 20 มิลลิวินาที และอัตราการสุ่มตัวอย่างคือ 16 kHz เฟรมเสียงจะมีตัวอย่าง 320 ตัวอย่าง
- อัตราการสุ่มตัวอย่างในระบบจำกัดอยู่ที่หลายช่วงของ 8kHz สำหรับ มีจํานวนตัวอย่างจำนวนเต็มในเฟรมเสมอ โดยไม่คํานึงถึง เวลาที่ใช้ในการแสดงผลเฟรมหรือระยะเวลาของการเชื่อมต่อ
- ไบต์ลำดับจะต้องเพิ่มเฟรมเสียงไว้ด้านหน้า ไบต์ลำดับ ควรนับจำนวนด้วยรูปแบบรอบเอง และทำให้อุปกรณ์ต่อพ่วงสามารถ ตรวจหาบัฟเฟอร์ที่ไม่ตรงกันหรือน้อยเกินไป
-
เฟรมเสียงจะต้องอยู่ในแพ็กเก็ต LE เดียวเสมอ เสียง
จะส่งเป็นแพ็กเก็ต L2CAP แยกต่างหาก ขนาดของ LE
LL PDU ต้องมีลักษณะดังต่อไปนี้
ขนาดเพย์โหลดเสียง + 1 (ตัวนับลำดับ) + 6 (4 สำหรับส่วนหัว L2CAP, 2 สำหรับ SDU) - เหตุการณ์การเชื่อมต่อควรมีขนาดใหญ่พอที่จะมีเสียงได้ 2 เสียงเสมอ แพ็กเก็ตและแพ็กเก็ตว่าง 2 แพ็กสำหรับ ACK เพื่อสำรองแบนด์วิดท์ไว้ การส่งซ้ำ โปรดทราบว่าแพ็กเก็ตเสียงอาจมี ตัวควบคุมบลูทูธของส่วนกลาง อุปกรณ์ต่อพ่วงต้องรับได้ แพ็กเก็ตเสียงแยกส่วนมากกว่า 2 แพ็กต่อเหตุการณ์การเชื่อมต่อ
เพื่อให้ศูนย์กลางมีความยืดหยุ่นมากขึ้น ความยาวแพ็กเก็ต G.722 จึงไม่ ที่ระบุ ความยาวของแพ็กเก็ต G.722 อาจเปลี่ยนแปลงได้ตามการเชื่อมต่อ ที่เป็นศูนย์กลาง
รูปแบบอ็อกเท็ตเอาต์พุต G.722 อ้างอิงฟังก์ชัน อ้างอิง ITU-T G.722 (09/2012) ส่วนที่ 1.4.4 " Multiplexer"
สำหรับตัวแปลงรหัสทั้งหมดที่อุปกรณ์ต่อพ่วงรองรับ อุปกรณ์ต่อพ่วงต้อง รองรับพารามิเตอร์การเชื่อมต่อด้านล่างนี้ นี่เป็นรายการโดยสังเขป ของการกำหนดค่าที่ส่วนกลางสามารถนำไปใช้ได้
ตัวแปลงรหัส | อัตราบิต | ช่วงเวลาการเชื่อมต่อ | ความยาวมาตรฐาน CE (1 ล้าน/2 ล้าน PHY) | ขนาดเพย์โหลดเสียง |
---|---|---|---|---|
G.722 ที่ 16 kHz | 64 กิโลบิต/วินาที | 20 มิลลิวินาที | 5000/3750 US | 160 ไบต์ |
เริ่มและหยุดสตรีมเสียง
ก่อนเริ่มสตรีมเสียง ส่วนกลางจะค้นหาอุปกรณ์ต่อพ่วง และสร้างตัวแปลงรหัสตัวหารร่วม สตรีม จะดำเนินการตามลำดับต่อไปนี้
- อ่าน PSM และ RenderDelay หรือไม่ก็ได้ ค่าเหล่านี้ อาจถูกแคชไว้โดยส่วนกลาง
- ช่อง CoC L2CAP เปิดอยู่ โดยอุปกรณ์ต่อพ่วงต้องให้เครดิต 8 เครดิต ในตอนแรก
- มีการอัปเดตการเชื่อมต่อเพื่อเปลี่ยนลิงก์ไปยังพารามิเตอร์ ซึ่งจำเป็นสำหรับตัวแปลงรหัสที่เลือก ส่วนกลางอาจอัปเดตการเชื่อมต่อนี้ ก่อนการเชื่อมต่อ CoC ในขั้นตอนก่อนหน้า
- ทั้งโฮสต์ส่วนกลางและโฮสต์อุปกรณ์ต่อพ่วงรอการอัปเดต เหตุการณ์สมบูรณ์
-
รีสตาร์ทโปรแกรมเปลี่ยนไฟล์เสียงแล้วรีเซ็ตจำนวนลำดับแพ็กเก็ตเป็น 0
คำสั่ง
«Start»
ที่มีพารามิเตอร์ที่เกี่ยวข้องคือ ที่ออกใน AudioControlPoint ส่วนกลางจะรอการแจ้งเตือนสถานะที่สำเร็จ คำสั่ง«Start»
ก่อนหน้าจากอุปกรณ์ต่อพ่วงก่อนสตรีม การรอนี้จะให้อุปกรณ์ต่อพ่วง เวลาในการเตรียมไปป์ไลน์การเล่นเสียง ในระหว่างการสตรีมเสียง ตัวจำลอง ควรพร้อมใช้งานในเหตุการณ์การเชื่อมต่อทุกเหตุการณ์แม้ว่าเหตุการณ์ปัจจุบัน เวลาในการตอบสนองของตัวจำลองอาจไม่เป็น 0 - อุปกรณ์ต่อพ่วงจะรับแพ็กเก็ตเสียงแรกจากคิวภายใน (ลำดับหมายเลข 0) และเล่น
ปัญหาหลักเกี่ยวกับคำสั่ง «Stop» เพื่อปิด สตรีมเสียง หลังจากคำสั่งนี้ อุปกรณ์ต่อพ่วงจะไม่จำเป็นต้องมีอยู่ในทุกๆ เหตุการณ์การเชื่อมต่อ หากต้องการรีสตาร์ทการสตรีมเสียง ให้ทำตามลำดับข้างต้น โดยเริ่มต้น จากขั้นตอนที่ 5 ถ้าไม่ได้รวมศูนย์ สตรีมมิงเสียง แต่ก็ควรยังมีการเชื่อมต่อ LE สำหรับ GATT บริการต่างๆ
อุปกรณ์ต่อพ่วงจะไม่ส่งการอัปเดตการเชื่อมต่อกับส่วนกลาง ส่วนกลางอาจอัปเดตการเชื่อมต่อไปยัง อุปกรณ์ต่อพ่วงเมื่อไม่ได้สตรีมเสียง