หลักเกณฑ์การรับรองสวิตช์เสียง

การเตรียมตัวสำหรับการรับรอง

  • เตรียมอุปกรณ์ทดสอบ
    • คุณจะต้องมีอุปกรณ์ Android 5 เครื่อง
      • อุปกรณ์เหล่านี้ต้องมีคุณสมบัติดังนี้
        • Android T (13) อย่างน้อย 1 เครื่อง และ Android V (15) อย่างน้อย 1 เครื่อง
        • Samsung และ Pixel อย่างน้อย 1 เครื่อง
        • เช่น
          • 1 OnePlus (Android 10)
          • 3 Samsung (Android 11, 12, 13)
          • 1 Pixel (Android 15)
    • อุปกรณ์ 1 เครื่องที่ไม่มีการสลับอุปกรณ์เสียง
      • iPhone, PC, แล็ปท็อปที่เปิดใช้บลูทูธ (BT) หรือโทรศัพท์ Android ที่ปิดใช้สลับอุปกรณ์เสียง
        • คุณปิดการสลับอุปกรณ์เสียงได้จากการตั้งค่ารายละเอียดอุปกรณ์บลูทูธ
      • กรณีทดสอบ Multipoint (MP) 2.8 ต้องใช้อุปกรณ์ที่ไม่มีสลับอุปกรณ์เสียง นอกเหนือจากโทรศัพท์ทดสอบ 5 เครื่อง
  • เข้าร่วมกลุ่มทดสอบการสลับอุปกรณ์เสียงด้วยบัญชีทดสอบใน เพื่อแสดงการแจ้งเตือนการแก้ไขข้อบกพร่องในโทรศัพท์ทดสอบ

    • ซึ่งยังช่วยให้ Google รวบรวมข้อมูลการทดสอบผ่าน Google Analytics ได้ด้วย

คลาสสิกที่มี A2DP+HFP

  • ตรวจสอบว่าอุปกรณ์ Android ทั้งหมดติดตั้ง GmsCore เวอร์ชัน 23.xx.xx ขึ้นไปแล้ว

BLE พร้อม LE Audio

  • โทรศัพท์อ้างอิงอย่างน้อย 2 เครื่องต้องรองรับ LE Audio
    • เช่น โทรศัพท์ Samsung 1 เครื่องและโทรศัพท์ Pixel 1 เครื่องที่รองรับ LE Audio
  • ตรวจสอบว่าอุปกรณ์ Android ทั้งหมดติดตั้ง GmsCore เวอร์ชัน 24.33.xx ขึ้นไปแล้ว

เกณฑ์การรับรอง

  • อัตราความสำเร็จในการเปลี่ยนเป้าหมายต้องเกิน 95% ในกรณีทดสอบทั้งหมด
  • ในการทดสอบที่ต้องมีการสลับ การเชื่อมต่อโปรไฟล์และสถานะการสลับที่ใช้งานอยู่ ต้องเสร็จสมบูรณ์ภายใน 3 วินาทีหลังจากทริกเกอร์เหตุการณ์เสียงในอย่างน้อย 75% ของกรณี

คลาสสิกที่มี A2DP+HFP

การทดสอบด้วยตนเองต้องดำเนินการในชุดค่าผสมต่อไปนี้

  • โทรศัพท์ A=Android S (12) + โทรศัพท์ B=Android T (13)
  • โทรศัพท์ A=Android T (13) + โทรศัพท์ B=Android S (12)

BLE พร้อม LE Audio

การทดสอบด้วยตนเองต้องดำเนินการในชุดค่าผสมต่อไปนี้

  • โทรศัพท์ A: BT Classic, โทรศัพท์ B: BT Classic
  • โทรศัพท์ A: LE Audio, โทรศัพท์ B: BT Classic
  • โทรศัพท์ A: BT Classic, โทรศัพท์ B: LE Audio

ผู้ให้บริการที่รองรับการเชื่อมต่อ LE Audio แบบคู่ควรทดสอบสิ่งต่อไปนี้ (ไม่บังคับ)

  • โทรศัพท์ A: LE Audio, โทรศัพท์ B: LE Audio

คู่มือการทดสอบ

การเตรียมอุปกรณ์ภายใต้การทดสอบ (DUT)

  • ตรวจสอบว่าก่อนหน้านี้ไม่ได้จับคู่อุปกรณ์ BT กับโทรศัพท์ที่ ลงชื่อเข้าใช้บัญชี Google สำหรับการทดสอบ
    • หากอุปกรณ์จับคู่กับบัญชี Google สำหรับการทดสอบแล้ว ให้ทำดังนี้เพื่อยกเลิกการจับคู่
      • ในอุปกรณ์ที่จับคู่แล้ว ให้ทำดังนี้
        • ไปที่การตั้งค่าบลูทูธ
        • เลือก "ลืมอุปกรณ์"
        • เปิดและปิดโหมดบนเครื่องบิน
    • ตรวจสอบว่า "บันทึกอุปกรณ์โดยอัตโนมัติ" เปิดอยู่
      • สวิตช์นี้จะปิดอยู่โดยค่าเริ่มต้น
      • คุณจะเห็นตัวเลือกนี้ในการตั้งค่า > Google > อุปกรณ์ > อุปกรณ์ที่บันทึกไว้ (1 เครื่องต่อ DUT)
    • ตั้งค่าอุปกรณ์บลูทูธให้อยู่ในโหมดการจับคู่
    • จับคู่อุปกรณ์บลูทูธเครื่องแรก (A)
    • จับคู่อุปกรณ์บลูทูธที่เหลือกับอุปกรณ์อื่นๆ (B, C, D ฯลฯ)

ขอบเขต

  • หูฟังทั้งหมดจะทำการทดสอบจากแท็บต่างๆ ในรายงานการทดสอบด้วยตนเองของ BT Classic หรือ BT LE Audio
  • ชุดหูฟังที่รองรับเฉพาะโหมด SinglePoint (SP) จะเรียกใช้สิ่งต่อไปนี้
    • แท็บ Generic_test
  • ชุดหูฟังที่รองรับโหมด MP จะเรียกใช้คำสั่งต่อไปนี้
    • แท็บ Generic_test
    • แท็บ Multipoint_only
  • ชุดหูฟัง MP ที่สลับไปใช้โหมด SP ได้จะทำงานดังนี้
    • แท็บ Generic_test ที่ปิด MP
    • แท็บ Generic_test ที่เปิด MP ไว้
    • แท็บ Multipoint_only ที่เปิด MP

การทำแบบทดสอบการพักผ่อนด้วยตนเองและรายงานการทดสอบด้วยตนเอง

  • ทำสำเนารายงานการทดสอบด้วยตนเองของ BT Classic หรือ BT LE Audio
  • เรียกใช้กรณีทดสอบทั้งหมดอย่างน้อย 2 ครั้ง
  • ควรดำเนินการทดสอบในรูปแบบต่อไปนี้

คลาสสิกที่มี A2DP+HFP

  • อุปกรณ์ B จะเป็น DUT หลัก
    • ป้อนรายละเอียดของอุปกรณ์ B ลงในช่อง "โทรศัพท์" และ "ระบบปฏิบัติการ" ที่ด้านบนของเทมเพลต

ตัวอย่างกรณีทดสอบ

  • โทรศัพท์ทดสอบ

    • อุปกรณ์ 1: Samsung (Android 13)
    • อุปกรณ์ 2: Pixel (Android 12 หรือ 13) และอื่นๆ
  • การทดสอบที่ดำเนินการ

    • เรียกใช้ 1 อุปกรณ์ A=Samsung S10+ (12), อุปกรณ์ B=Pixel 7 Pro (13) คอลัมน์ D: โทรศัพท์=Pixel 7 Pro, ระบบปฏิบัติการ=Android 13
    • วิ่งครั้งที่ 2 อุปกรณ์ A=Pixel 7 Pro (13), อุปกรณ์ B=Pixel 6(12) คอลัมน์ E: โทรศัพท์=Pixel 6, ระบบปฏิบัติการ=Android 12

ตัวอย่างการทดสอบที่เสร็จสมบูรณ์ในเทมเพลตการทดสอบด้วยตนเอง

รูปภาพนี้แสดงผลการทดสอบตัวอย่าง

BLE พร้อม LE Audio

  1. อุปกรณ์ A=Android V (15) + อุปกรณ์ B=Android T (13)
  2. อุปกรณ์ A=Android T (13) + อุปกรณ์ B=Android V (15)
  3. อุปกรณ์ A=Android T (13) + อุปกรณ์ B=Android S (12)
  4. อุปกรณ์ A=Android T (15) + อุปกรณ์ B=Android V (15)
  5. อุปกรณ์ B จะเป็น DUT หลัก
    • ป้อนรายละเอียดของอุปกรณ์ B ลงในช่อง "โทรศัพท์" และ "ระบบปฏิบัติการ" ที่ด้านบนของเทมเพลต

ตัวอย่างกรณีทดสอบ

  • โทรศัพท์ทดสอบ

    • อุปกรณ์ 1: Samsung (Android 13)
    • อุปกรณ์ 2: Pixel (Android 15) และอื่นๆ
  • การทดสอบที่ดำเนินการ

    • [LEA+BT]: อุปกรณ์ A= Pixel 8 (15), อุปกรณ์ B=Pixel 7 pro (13) คอลัมน์ D: Phone=Pixel 7 pro, OS=Android 13
    • [BT+LEA]: อุปกรณ์ A=Pixel 7 (13), อุปกรณ์ B=Pixel 8 (Android 15) คอลัมน์ E: โทรศัพท์=Pixel 8, ระบบปฏิบัติการ=Android 15
    • [BT+BT]: อุปกรณ์ A=Pixel 7 Pro (13), อุปกรณ์ B=Samsung S10+ (12) คอลัมน์ E: โทรศัพท์=Samsung S10+, ระบบปฏิบัติการ=Android 12
    • [LEA+LEA]: อุปกรณ์ A=Pixel 8 (15), อุปกรณ์ B=Pixel 8(15) คอลัมน์ E: Phone=Pixel 8, OS=Android 15

ตัวอย่างการทดสอบที่เสร็จสมบูรณ์ในเทมเพลตการทดสอบด้วยตนเอง

รูปภาพนี้แสดงผลการทดสอบตัวอย่าง

กิจกรรมที่มีเสียง:

  • เหตุการณ์เสียง 4 ประเภทที่ทดสอบแล้วและแอปทดสอบที่แนะนำมีดังนี้

    1. โทร:
      1. แอปโทรศัพท์ในตัว
    2. VoIP: แอป VoIP ใดก็ได้จะใช้งานได้ เช่น
      1. แอปทดสอบการสลับอุปกรณ์เสียง
      2. FB Messenger
      3. เส้น
      4. WhatsApp
      5. Google Meet
      6. Google Meet
    3. สื่อ: เครื่องเล่นเสียงใดก็ได้ เช่น
      1. แอปทดสอบการสลับอุปกรณ์เสียง
      2. YouTube Music
      3. Apple Music
      4. Spotify
      5. Google Podcasts
    4. การแข่งขัน
      1. แอปทดสอบการสลับอุปกรณ์เสียง

ข้อมูลการแก้ไขข้อบกพร่อง:

  • ระบบจะเปิดใช้การแจ้งเตือนหลังจากเข้าร่วมกลุ่ม fp-sass-partner-test ตัวอย่างเช่น

    • การแจ้งเตือนสถานะล่าสุด:

    รูปที่ 1: แสดงข้อความ "การแจ้งเตือนสถานะล่าสุด"

    • ไม่มีการแจ้งเตือนการเปลี่ยน

    รูปที่ 2: แสดงข้อความ "ไม่มีการแจ้งเตือนการเปลี่ยน"

    • การแจ้งเตือนเวลาในการตอบสนองของการสลับ

    รูปที่ 3: แสดงข้อความ "การแจ้งเตือนเวลาในการตอบสนองของสวิตช์"

การวัดเวลาในการตอบสนอง

  • เวลาในการตอบสนองของสวิตช์มี 2 ประเภท ดังนี้
    1. การเชื่อมต่อโปรไฟล์บลูทูธกับ Seeker ที่ไม่ได้เชื่อมต่อ
      • ซึ่งรวมถึงเคส SinglePoint ทั้งหมดและเคส MP บางเคสที่ Seeker (อุปกรณ์ B) เป้าหมาย ถูกตัดการเชื่อมต่อ
    2. การเปลี่ยน Seeker ที่เชื่อมต่อที่ใช้งานอยู่
      • ซึ่งรวมถึงกรณี MP บางกรณีที่ Seeker เป้าหมาย (อุปกรณ์ B) เชื่อมต่ออยู่แล้ว
  • คุณดึงข้อมูลเวลาในการตอบสนองได้ 2 วิธี ดังนี้
    1. คำสั่ง adb สามารถทิ้งเวลาในการตอบสนองทั้งหมดได้
      • ดูรายละเอียดได้ที่ส่วนเวลาในการตอบสนองของการทิ้ง
      • คำสั่งนี้สามารถให้และบันทึกเวลาในการตอบสนองหลังจากเสร็จสิ้นกรณีทดสอบอย่างน้อย 1 รายการ
    2. การใช้แอปทดสอบการสลับอุปกรณ์เสียง
      • แอปที่ทำงานบน Seeker เป้าหมายจะแสดงเวลาในการตอบสนองหลังจาก เปลี่ยน
      • หากไม่มีการเปลี่ยน แอปจะแสดงเหตุผลว่า "ไม่มีการเปลี่ยน"

แอปทดสอบการสลับอุปกรณ์เสียง:

  • การใช้แอปเพื่อทริกเกอร์เหตุการณ์เสียง VoIP/สื่อ/เกมระหว่างการทดสอบด้วยตนเอง จะช่วยลดความซับซ้อนในการตั้งค่าการทดสอบและลดเวลาในการตอบสนองของเหตุการณ์ของ Seeker
    • คุณดาวน์โหลดเวอร์ชันล่าสุดได้ที่นี่
    • การทดสอบ VoIP ของ LE Audio ต้องเปิดใช้นโยบายด้วยตนเองโดยทำดังนี้ > adb root > adb shell settings put global hidden_api_policy 1 > adb reboot
  • การติดตั้งแอป
    • คัดลอก APK ไปยังโทรศัพท์ที่ใช้ทดสอบแล้วเปิด
    • หรือใช้ adb install audio_test_app.apk
  • หากเห็นกล่องโต้ตอบที่ขอสิทธิ์เข้าถึงการแจ้งเตือน ให้ทำดังนี้
    1. คลิก "ตกลง"
    2. เลือก "FP SASS test" ในรายการแอป
    3. อนุญาตให้เข้าถึงการแจ้งเตือน

ภาพรวมของแอป

รูปภาพนี้เป็นตัวอย่างการทำงานของแอป

  • ผู้ให้บริการเป้าหมาย

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

    • ฟิลด์นี้แสดงสถานะการเชื่อมต่อล่าสุดที่ Seeker ได้รับจาก Provider โดยใช้การโฆษณา BLE หรือสตรีมเหตุการณ์
    • นอกจากนี้ การแจ้งเตือนการแก้ไขข้อบกพร่องในการสลับอุปกรณ์เสียงจะแสดงที่นี่ด้วย
  • ประเภทผู้หางาน

    • ตัวเลือกนี้ใช้เพื่อสลับอุปกรณ์ระหว่างสตรีมเสียง

ประเภทเสียง

คลาสสิกที่มี A2DP+HFP

  • VoIP
    • การเลือกโหมดนี้จะเปลี่ยนโหมดเสียงเป็น AudioManager.MODE_IN_COMMUNICATIONและโทร AudioManager.startBluetoothSco จากนั้นจะเล่นเสียงด้วย USAGE_VOICE_COMMUNICATION
    • ประเภทสตรีมคือ STREAM_VOICE_CALL
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_HFP ภายใน 5 วินาที
  • สื่อ
    • การเลือกโหมดนี้จะเล่นเสียงที่รองรับ AVRCP ประเภทการใช้งานเสียง คือ USAGE_MEDIA
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_A2DP_WITH_AVRCP ภายใน 5 วินาที
    • สถานะการเชื่อมต่ออาจเปลี่ยนเป็น CONNECTED_A2DP_ONLY ชั่วคราวเมื่อ เริ่มหรือหยุด
  • เกม

    • การเลือกโหมดนี้จะเล่นเสียงที่ไม่รองรับ AVRCP ประเภทการใช้งานเสียง คือ USAGE_GAME
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_A2DP_ONLY ภายใน 5 วินาที

BLE พร้อม LE Audio

  • VoIP

    • การเลือกโหมดนี้จะเปลี่ยนโหมดเสียงเป็น AudioManager.MODE_IN_COMMUNICATION และเล่นเสียงด้วย USAGE_VOICE_COMMUNICATION
    • ประเภทสตรีมคือ STREAM_VOICE_CALL
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_LE_AUDIO_CALL ภายใน 5 วินาที
  • สื่อ

    • การเลือกโหมดนี้จะเล่นเสียงที่มีประเภทสตรีมเป็น STREAM_MUSIC ประเภทการใช้งานเสียงคือ USAGE_MEDIA
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL ภายใน 5 วินาที
    • สถานะการเชื่อมต่ออาจเปลี่ยนเป็น CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL ชั่วครู่เมื่อเริ่มหรือหยุด
  • เกม

    • การเลือกโหมดนี้จะเล่นเสียงที่ผู้ใช้ไม่มีสิทธิ์ควบคุมโดยตรง ประเภทการใช้งานเสียงคือ USAGE_GAME
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL ภายใน 5 วินาที
  • ปุ่มเล่นและหยุด

    • ปุ่มเล่นและหยุดจะเริ่มหรือหยุดเสียง
  • ผลการสลับ

    • ฟิลด์นี้จะแสดงเวลาในการตอบสนองที่ใช้งานอยู่ของ Connect และ Switch นอกจากนี้ยัง แสดงเหตุผลที่ปฏิเสธการเปลี่ยนหากมีการทริกเกอร์เหตุการณ์เสียง แต่ไม่มีการเปลี่ยน
    • เวลาในการตอบสนองมีหน่วยวัดเป็นมิลลิวินาที (ms)
    • โดยทั่วไปแล้ว ระบบจะวัดเวลาในการตอบสนองตั้งแต่เริ่มทริกเกอร์การสลับอุปกรณ์เสียง จนถึงการรับโปรไฟล์ BT ที่เชื่อมต่อหรือเหตุการณ์ Notify multipoint-switch
    • การสลับที่ทริกเกอร์โดยผู้ให้บริการจะวัดเวลาในการตอบสนองตั้งแต่เริ่มเสียง

เวลาในการตอบสนองของดัมพ์

  • คำสั่งต่อไปนี้ช่วยให้ผู้ใช้บันทึกการวัดเวลาในการตอบสนองได้เมื่อ ทำการทดสอบด้วยตนเอง adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • การวัดเวลาในการตอบสนองจะแสดงในส่วน NearbyDeviceManager's SwitchHistory ดังนี้
            NearbyDeviceManager
              Nearby Sass device count: 1
                Sass device - address:XX:XX:XX:XX:XX:XX, name:Googler's Pixel Buds, accountKey:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, modelId:6edaf7
                  SwitchHistory
                    15:30:21:166 - 15:30:25:201, latency 3035ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:34:58:568 - 15:34:58:568, latency 0ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, HFP
                    15:36:26:615 - 15:36:31:603, latency 1988ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:37:56:108 - 15:37:56:250, latency 142ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, A2DP"
  • การสลับใดๆ ที่ GmsCore วัดไม่ได้ (เช่น การสลับที่ใช้งานอยู่สำหรับ HFP) จะ บันทึกเป็นเวลาในการตอบสนอง 0 มิลลิวินาที

ข้อมูลอ้างอิงรูปแบบบันทึก

ตัวอย่างบันทึกจากการทดสอบเวลาในการตอบสนอง

ปัญหาที่ทราบแล้ว

ข้อบกพร่องที่ทราบซึ่งเกิดจาก Seeker มีดังนี้

  1. การสลับเสียงเกมไม่ถูกต้อง
    • โทรศัพท์ Samsung จะตั้งค่าสถานะการเชื่อมต่อเป็น CONNECTED_A2DP_WITH_AVRCP แทน CONNECTED_A2DP_ONLY เมื่อเล่นเกม
    • เกมบางเกม (เช่น Candy Crush) อาจเล่นเพลงประกอบซ้ำและทริกเกอร์เหตุการณ์เสียงใหม่โดยไม่ต้องมีการป้อนข้อมูลจากผู้ใช้ โทรศัพท์ที่เชื่อมต่ออาจ สลับเสียงในโทรศัพท์ทุกเครื่องที่เปิดเกมอยู่ตลอดเวลา