บริการบลูทูธ

อุปกรณ์สามารถส่งข้อมูลที่ใช้กับบริการแบบอินเทอร์แอกทีฟ เช่น เสียง การรับส่งข้อความ และการโทร ผ่านบลูทูธ โปรไฟล์บลูทูธที่ใช้สำหรับบริการต่างๆ จะอยู่ใน include/hardware/bluetooth.h

เสียง

การเชื่อมต่อบลูทูธช่วยให้ผู้ใช้สตรีมเสียงในอุปกรณ์ที่เปิดใช้บลูทูธได้ สําหรับ Use Case เสียงส่วนใหญ่ อุปกรณ์ Android จะเป็นแหล่งที่มา และอุปกรณ์แสดงผล เช่น ลําโพงหรือชุดหูฟัง จะเป็นอุปกรณ์ปลายทาง

การควบคุมระดับเสียงของอุปกรณ์อื่น

ใน Android 6.0 ขึ้นไป สแต็กบลูทูธของ Android อนุญาตให้แหล่งที่มาตั้งค่าระดับเสียงสัมบูรณ์ ซึ่งช่วยให้ผู้ใช้ควบคุมระดับเสียงได้อย่างแม่นยำ อุปกรณ์ต้นทางจะส่งข้อมูลเสียงและระดับเสียงที่ไม่มีการลดทอนไปยังอุปกรณ์ปลายทาง จากนั้นซิงค์จะขยายเสียงตามข้อมูลระดับเสียงเพื่อให้ผู้ใช้ได้ยินระดับเสียงการเล่นที่ถูกต้อง

อุปกรณ์ต้นทางยังลงทะเบียนการแจ้งเตือนระดับเสียงได้ด้วย เมื่อมีการเปลี่ยนแปลงระดับเสียงด้วยการควบคุมในซิงค์ ซิงค์จะส่งการแจ้งเตือนไปยังแหล่งที่มา ซึ่งจะช่วยให้แหล่งที่มาแสดงข้อมูลระดับเสียงในอินเทอร์เฟซผู้ใช้ได้อย่างถูกต้อง

การควบคุมระดับเสียงของอุปกรณ์อื่นจะเปิดอยู่โดยค่าเริ่มต้น หากต้องการปิดใช้การควบคุมระดับเสียงแบบสัมบูรณ์ ผู้ใช้สามารถไปที่การตั้งค่า > ระบบ > ตัวเลือกสำหรับนักพัฒนาแอป แล้วเลือกปุ่มสลับปิดใช้ระดับเสียงแบบสัมบูรณ์

ตัวแปลงรหัสเสียงขั้นสูง

ใน Android 8.0 อุปกรณ์ที่ใช้โปรไฟล์การกระจายเสียงขั้นสูง (A2DP) จะรองรับตัวแปลงรหัสเสียงเพิ่มเติมได้ สแต็กบลูทูธรองรับการเจรจาต่อรองตัวแปลงสัญญาณเสียงเมื่ออุปกรณ์เชื่อมต่อกับตัวรับเสียงระยะไกล การเจรจาต่อรองนี้จะเลือกตัวแปลงรหัสที่ดีที่สุดที่ทั้งผู้ส่งและเครื่องรับรองรับเพื่อให้ได้เสียงคุณภาพสูง หลังจากเลือกแล้ว ระบบจะส่งเสียงทั้งหมดผ่านโปรแกรมเปลี่ยนไฟล์ที่เลือก แล้วส่งไปยังซิงค์

การใช้งาน

อุปกรณ์ที่ใช้ Android 8.0 ที่รองรับ A2DP จะรองรับตัวแปลงรหัสเพิ่มเติมโดยอัตโนมัติ ผู้ผลิตอุปกรณ์อาจต้องขอใบอนุญาตและบล็อกไบนารีแยกต่างหากสำหรับตัวแปลงรหัสเสียงที่เป็นกรรมสิทธิ์บางรายการ นอกจาก SBC แล้ว Android 8.0 ยังรองรับตัวแปลงรหัสต่อไปนี้ด้วย

  • AAC
  • aptX
  • aptX HD
  • LDAC

ผู้ผลิตอุปกรณ์สามารถเลือกตัวแปลงรหัสที่อุปกรณ์จะพยายามใช้ก่อนได้ ตั้งค่าลำดับความสำคัญของตัวแปลงรหัสโดยเปลี่ยนค่าต่อไปนี้ใน res/values/config.xml

  <!-- Configuring priorities of A2DP source codecs. Larger value means
          higher priority. Value -1 means the codec is disabled.
          Value 0 is reserved and should not be used here. Enabled codecs
          should have priorities in the interval [1, 999999], and each
          priority value should be unique. -->
        <integer name="a2dp_source_codec_priority_sbc">1001</integer>
        <integer name="a2dp_source_codec_priority_aac">2001</integer>
        <integer name="a2dp_source_codec_priority_aptx">3001</integer>
        <integer name="a2dp_source_codec_priority_aptx_hd">4001</integer>
        <integer name="a2dp_source_codec_priority_ldac">5001</integer>
      

การรับรอง LDAC

โปรเจ็กต์โอเพนซอร์สของ Android มีโปรแกรมเข้ารหัสสำหรับตัวแปลงรหัส LDAC ของ Sony คุณจึงไม่จำเป็นต้องขอใบอนุญาตหรือบล็อกแยกต่างหากจาก Sony หากต้องการผสานรวมตัวแปลงรหัส LDAC เข้ากับอุปกรณ์ ให้ลงทะเบียนกับ Sony แล้วทำตาม ขั้นตอนการรับรอง LDAC

เว็บไซต์การรับรอง LDAC มีเอกสารประกอบเกี่ยวกับ LDAC เช่น คู่มือข้อกำหนดและคู่มือการใช้งาน เว็บไซต์ LDAC ยังมีการตรวจสอบและการทดสอบความสามารถในการทำงานร่วมกันสำหรับอุปกรณ์เคลื่อนที่และแท็บเล็ตด้วย ส่งผลการทดสอบที่ผ่านไปยัง Sony เพื่อรับการรับรอง LDAC ให้เสร็จสมบูรณ์

ฟีเจอร์ UI

นอกจากการรองรับตัวแปลงรหัสเพิ่มเติมแล้ว Android 8.0 ยังมีการตั้งค่าที่แสดงต่อผู้ใช้เพื่อปิดใช้ตัวแปลงรหัสเสียงบลูทูธความละเอียดสูง (HD) ด้วย

  1. ไปที่การตั้งค่า > อุปกรณ์ที่เชื่อมต่อ > บลูทูธ
  2. แตะไอคอนรูปเฟืองข้างซิงค์ที่ต้องการปิดใช้ตัวแปลงรหัส
  3. ยกเลิกการเลือกช่องทำเครื่องหมายเสียง HD

ผู้ผลิตอุปกรณ์ที่ปรับแต่งการตั้งค่าควรมีวิธีให้ผู้ใช้ปิดใช้ตัวแปลงรหัส HD

การรับส่งข้อความ

การรับส่งข้อความผ่านบลูทูธช่วยให้ผู้ใช้อ่าน เรียกดู และเขียนข้อความ SMS จากอุปกรณ์ระยะไกลได้ ความสามารถนี้มักใช้เมื่อเชื่อมต่อโทรศัพท์กับระบบสาระบันเทิงในรถ

โทรศัพท์

บริการโทรศัพท์ผ่านบลูทูธช่วยให้ผู้ใช้สตรีมการโทรและซิงค์รายชื่อติดต่อจากโทรศัพท์ไปยังอุปกรณ์บลูทูธเครื่องอื่นได้ ฟีเจอร์เหล่านี้มักใช้สำหรับการโทรแบบแฮนด์ฟรีขณะขับรถ

ใน Android 8.0 บลูทูธรองรับเสียงเรียกเข้าในย่านความถี่ เมื่อโทรศัพท์ที่เชื่อมต่อผ่านบลูทูธได้รับสายเรียกเข้า เสียงเรียกเข้าจะเล่นบนอ่างล้างจาน เปิดใช้เสียงเรียกเข้าในแบนด์ในการตั้งค่า > ระบบ > ตัวเลือกสำหรับนักพัฒนาแอป โดยเลือกปุ่มเปิด/ปิดเปิดใช้เสียงเรียกเข้าในแบนด์

ฟีเจอร์บลูทูธ

สแต็กบลูทูธรองรับโปรไฟล์และฟีเจอร์ที่หลากหลายเพื่อใช้งานบริการบลูทูธ

โปรไฟล์บลูทูธ

โปรไฟล์ต่อไปนี้พร้อมใช้งานสำหรับบลูทูธ

ฟีเจอร์ เวอร์ชัน Android
ชื่อ คำอธิบาย 6.0 7.0 7.1 7.1.2 8.0
SAP โปรไฟล์การเข้าถึงซิม 1.1 1.1 1.1 1.1 1.1
MAP โปรไฟล์การเข้าถึงข้อความสำหรับ SMS 1.2 1.2 1.2 1.2 1.2
OPP โปรไฟล์ Push ของออบเจ็กต์ 1.1 1.1 1.1 1.1 1.2
OBEX ผ่าน L2CAP การแลกเปลี่ยนออบเจ็กต์ผ่านโปรโตคอลการควบคุมและการปรับตัวของลิงก์เชิงตรรกะ (Object EXchange over Logical Link Control and Adaptation Protocol) ใช่ ได้ ได้ ได้ ใช่
HFP Audio Gateway โปรไฟล์แฮนด์ฟรี 1.6 1.6 1.7 1.7 1.7
HSP โปรไฟล์ชุดหูฟัง 1.2 1.2 1.2 1.2 1.2
A2DP Advanced Audio Distribution Profile 1.2 1.2 1.2 1.2 1.2
AVRCP โปรไฟล์การควบคุมอุปกรณ์เสียง/วิดีโอจากระยะไกล 1.3 1.3 1.3 1.3 1.4
HID โปรไฟล์อุปกรณ์อินเทอร์เฟซผู้ใช้ 1.0 1.0 1.0 1.0 1.0
PBAP โปรไฟล์การเข้าถึงสมุดโทรศัพท์ 1.1.1 1.1.1 1.1.1 1.1.1 1.2
HDP โปรไฟล์อุปกรณ์สุขภาพ 1.0 1.0 1.1 1.1 1.1
SPP โปรไฟล์พอร์ตอนุกรม 1.2 1.2 1.2 1.2 1.2
PAN / BNEP โปรไฟล์เครือข่ายส่วนบุคคล / โปรโตคอลการรวมแพ็กเก็ตเครือข่ายบลูทูธ 1.0 1.0 1.0 1.0 1.0
DIP โปรไฟล์รหัสอุปกรณ์ 1.3 1.3 1.3 1.3 1.3
HOGP 1.0 HID ผ่าน GATT ใช่ ได้ ได้ ได้ ใช่
เสียง HD1 ดู "ตัวแปลงรหัสเสียงขั้นสูง" ด้านบน ไม่ ไม่ได้ ไม่ได้ ไม่ได้ ใช่

1 การใช้เสียงแบบ HD ขึ้นอยู่กับความสามารถของอุปกรณ์ ทั้งแหล่งที่มาและอุปกรณ์รับ

ฟีเจอร์บลูทูธพลังงานต่ำ

ฟีเจอร์ต่อไปนี้ใช้ได้กับ BLE

ฟีเจอร์ เวอร์ชัน Android
ชื่อ 6.0 7.0 7.1 7.1.2 8.0
การเชื่อมต่อที่ปลอดภัย BR/EDR 4.1 4.1 4.1 4.1 5.0
ความเป็นส่วนตัวของ LE 4.2 4.2 4.2 4.2 5.0
การเชื่อมต่อที่ปลอดภัยของ LE 4.2 4.2 4.2 4.2 5.0
ส่วนขยายแพ็กเก็ตข้อมูล 4.2 4.2 4.2 4.2 5.0
UUID 32 บิต ใช่ ได้ ได้ ได้ ใช่
อุปกรณ์ปลายทาง/อุปกรณ์กลาง LE แบบ 2 โหมด ใช่ ได้ ได้ ได้ ใช่
โหมดอุปกรณ์ต่อพ่วง LE ใช่ ได้ ได้ ได้ ใช่
ข้อกําหนด HCI ของ Google ใช่ ได้ ได้ ได้ ใช่
แชแนลที่มุ่งเน้นการเชื่อมต่อ LE ไม่ ไม่ได้ ไม่ได้ ไม่ได้ ไม่ดีกว่าค่ะ