Nguyên tắc về chứng nhận chuyển đổi âm thanh

Chuẩn bị cho quy trình chứng nhận

  • Chuẩn bị thiết bị thử nghiệm.
    • Bạn sẽ cần 5 thiết bị Android.
      • Các thiết bị này phải có:
        • Ít nhất một Android T (13) và một Android V (15).
        • Ít nhất một điện thoại Samsung và một điện thoại Pixel.
        • Ví dụ:
          • 1 OnePlus (Android 10).
          • 3 Samsung (Android 11, 12, 13).
          • 1 Pixel (Android 15).
    • Một thiết bị không có nút chuyển Âm thanh:
      • Mọi iPhone, máy tính, máy tính xách tay có Bluetooth (BT) hoặc điện thoại Android có nút chuyển Âm thanh bị tắt.
        • Bạn có thể tắt nút chuyển Âm thanh trong phần cài đặt chi tiết về thiết bị Bluetooth.
      • Ngoài 5 điện thoại thử nghiệm, Trường hợp kiểm thử đa điểm (MP) 2.8 cần một thiết bị không có nút chuyển Âm thanh.
  • Tham gia nhóm kiểm thử nút chuyển Âm thanh bằng tài khoản thử nghiệm của bạn để hiển thị thông báo gỡ lỗi trên điện thoại thử nghiệm.

    • Việc này cũng cho phép Google thu thập dữ liệu thử nghiệm thông qua Google Analytics.

Cổ điển với A2DP+HFP

  • Đảm bảo tất cả thiết bị Android đều đã cài đặt GmsCore phiên bản 23.xx.xx trở lên.

BLE với LE Audio

  • Ít nhất hai trong số các điện thoại tham chiếu phải hỗ trợ LE Audio.
    • Ví dụ: một điện thoại Samsung và một điện thoại Pixel hỗ trợ LE Audio.
  • Đảm bảo tất cả thiết bị Android đều đã cài đặt GmsCore phiên bản 24.33.xx trở lên.

Tiêu chí chứng nhận

  • Tỷ lệ thành công của tính năng Chuyển đổi mục tiêu phải vượt quá 95% trong tất cả các trường hợp kiểm thử.
  • Trong các thử nghiệm yêu cầu chuyển đổi, kết nối hồ sơ và trạng thái đang bật của nút chuyển phải hoàn tất trong vòng 3 giây sau khi kích hoạt sự kiện âm thanh trong ít nhất 75% trường hợp.

Cổ điển với A2DP+HFP

Bạn phải thực hiện Tự kiểm thử theo các tổ hợp sau:

  • Điện thoại A=Android S (12) + Điện thoại B=Android T (13)
  • Điện thoại A=Android T (13) + Điện thoại B=Android S (12)

BLE với LE Audio

Bạn phải thực hiện Tự kiểm thử theo các tổ hợp sau:

  • Điện thoại A: BT Classic, Điện thoại B: BT Classic
  • Điện thoại A: Âm thanh năng lượng thấp, Điện thoại B: Bluetooth phiên bản cũ
  • Điện thoại A: BT Cổ điển, Điện thoại B: LE Audio

Các Nhà cung cấp hỗ trợ kết nối Âm thanh năng lượng thấp kép nên kiểm thử (không bắt buộc):

  • Điện thoại A: Âm thanh LE, Điện thoại B: Âm thanh LE

Hướng dẫn kiểm thử

Chuẩn bị thiết bị được kiểm thử (DUT)

  • Xác minh rằng thiết bị Bluetooth chưa từng được ghép nối với bất kỳ điện thoại nào đã đăng nhập vào Tài khoản Google thử nghiệm.
    • Nếu thiết bị đã được ghép nối với Tài khoản Google thử nghiệm, hãy làm như sau để xoá chế độ ghép nối:
      • Trong thiết bị đã ghép nối:
        • Chuyển đến phần cài đặt Bluetooth.
        • Chọn "Xoá thiết bị".
        • Bật rồi tắt chế độ trên máy bay.
    • Đảm bảo bạn đã BẬT chế độ "Tự động lưu thiết bị".
      • Nút chuyển này ở trạng thái TẮT theo mặc định.
      • Bạn có thể tìm thấy tuỳ chọn này trong phần Cài đặt > Google > Thiết bị > Thiết bị đã lưu (một thiết bị cho mỗi DUT).
    • Đặt thiết bị Bluetooth ở Chế độ ghép nối.
    • Ghép nối thiết bị Bluetooth ban đầu (A).
    • Ghép nối các thiết bị Bluetooth tiếp theo với các thiết bị khác (B, C, D, v.v.).

Phạm vi

  • Tất cả tai nghe đều chạy các bài kiểm thử từ nhiều thẻ trong báo cáo Tự kiểm thử BT Classic hoặc BT LE Audio.
  • Tai nghe chỉ hỗ trợ chế độ SinglePoint (SP) sẽ chạy như sau:
    • Thẻ Generic_test.
  • Tai nghe hỗ trợ chế độ MP chạy những tính năng sau:
    • Thẻ Generic_test.
    • Thẻ Multipoint_only.
  • Tai nghe MP có thể chuyển sang chế độ SP sẽ chạy những ứng dụng sau:
    • Thẻ Generic_test (Kiểm thử chung) với MP tắt.
    • Thẻ Generic_test (Kiểm thử chung) đang bật MP.
    • Thẻ Multipoint_only (Chỉ đa điểm) đang bật MP.

Hoàn tất quy trình tự nghỉ ngơi và báo cáo tự kiểm tra

  • Tạo bản sao của Báo cáo tự kiểm tra BT Classic hoặc BT LE Audio.
  • Chạy tất cả các trường hợp kiểm thử ít nhất hai lần.
  • Bạn nên thực thi các chương trình kiểm thử theo biểu mẫu sau:

Cổ điển với A2DP+HFP

  • Thiết bị B sẽ là DUT chính.
    • Nhập thông tin chi tiết của Thiết bị B vào các trường "Điện thoại" và "Hệ điều hành" ở đầu mẫu.

Ví dụ về trường hợp kiểm thử:

  • Điện thoại thử nghiệm:

    • Thiết bị 1: Samsung (Android 13)
    • Thiết bị 2: Pixel (Android 12 hoặc 13) và các thiết bị khác.
  • Các kiểm thử đã thực thi:

    • Chạy 1. Thiết bị A=Samsung S10+ (12), Thiết bị B=Pixel 7 pro (13) cột D: Điện thoại=Pixel 7 pro, Hệ điều hành=Android 13
    • Chạy 2. Thiết bị A=Pixel 7 pro (13), Thiết bị B=Pixel 6(12) cột E: Điện thoại=Pixel 6, Hệ điều hành=Android 12

Ví dụ về một kiểm thử đã hoàn tất trong mẫu tự kiểm thử:

Hình ảnh này cho thấy kết quả của một bài kiểm thử mẫu

BLE với LE Audio

  1. Thiết bị A=Android V (15) + Thiết bị B=Android T (13)
  2. Thiết bị A=Android T (13) + Thiết bị B=Android V (15)
  3. Thiết bị A=Android T (13) + Thiết bị B=Android S (12)
  4. Thiết bị A=Android T (15) + Thiết bị B=Android V (15)
  5. Thiết bị B sẽ là DUT chính.
    • Nhập thông tin chi tiết của Thiết bị B vào các trường "Điện thoại" và "Hệ điều hành" ở đầu mẫu.

Ví dụ về trường hợp kiểm thử:

  • Điện thoại thử nghiệm:

    • Thiết bị 1: Samsung (Android 13)
    • Thiết bị 2: Pixel (Android 15) và các thiết bị khác.
  • Các kiểm thử đã thực thi:

    • [LEA+BT]: Thiết bị A= Pixel 8 (15), Thiết bị B=Pixel 7 pro (13) cột D: Điện thoại=Pixel 7 pro, Hệ điều hành=Android 13
    • [BT+LEA]: Thiết bị A=Pixel 7 (13), Thiết bị B=Pixel 8 (Android 15) cột E: Điện thoại=Pixel 8, Hệ điều hành=Android 15
    • [BT+BT]: Thiết bị A=Pixel 7 pro (13), Thiết bị B=Samsung S10+ (12) cột E: Điện thoại=Samsung S10+, Hệ điều hành=Android 12
    • [LEA+LEA]: Thiết bị A=Pixel 8 (15), Thiết bị B=Pixel 8(15) cột E: Điện thoại=Pixel 8, Hệ điều hành=Android 15

Ví dụ về một kiểm thử đã hoàn tất trong mẫu tự kiểm thử:

Hình ảnh này cho thấy kết quả của một bài kiểm thử mẫu

Sự kiện âm thanh:

  • 4 loại sự kiện âm thanh được kiểm thử và các ứng dụng kiểm thử được đề xuất là:

    1. Lệnh gọi:
      1. Ứng dụng điện thoại tích hợp.
    2. VoIP: Mọi ứng dụng VoIP đều hoạt động, chẳng hạn như:
      1. Ứng dụng kiểm thử nút chuyển đổi âm thanh.
      2. FB Messenger.
      3. Đường kẻ.
      4. WhatsApp.
      5. Google Meet.
      6. Google Meet.
    3. Nội dung nghe nhìn: Mọi trình phát âm thanh đều hoạt động, chẳng hạn như:
      1. Ứng dụng kiểm thử nút chuyển đổi âm thanh.
      2. YouTube Music.
      3. Apple Music.
      4. Spotify.
      5. Google Podcasts).
    4. Trò chơi:
      1. Ứng dụng kiểm thử nút chuyển đổi âm thanh.

Thông tin gỡ lỗi:

  • Thông báo được bật sau khi tham gia nhóm fp-sass-partner-test. Dưới đây là một số ví dụ:

    • Thông báo trạng thái mới nhất:

    Hình 1: Hình này cho thấy thông báo "thông báo trạng thái mới nhất".

    • Không có thông báo chuyển đổi:

    Hình 2: Hình này cho thấy thông báo "không có thông báo chuyển đổi".

    • Thông báo về độ trễ của nút chuyển:

    Hình 3: Hình này cho thấy thông báo "thông báo độ trễ của nút chuyển".

Đo độ trễ

  • Có hai loại độ trễ của nút chuyển:
    1. Kết nối hồ sơ Bluetooth với Trình tìm kiếm đã ngắt kết nối.
      • Điều này bao gồm tất cả các trường hợp SinglePoint và một số trường hợp MP có Trình tìm mục tiêu mục tiêu (thiết bị B) bị ngắt kết nối.
    2. Chuyển đổi Trình tìm kiếm đang kết nối đang hoạt động.
      • Điều này bao gồm một số trường hợp MP mà Trình tìm kiếm mục tiêu (thiết bị B) đã được kết nối.
  • Có hai cách để truy xuất thông tin về độ trễ:
    1. Bạn có thể kết xuất tất cả độ trễ bằng lệnh adb.
      • Hãy tham khảo phần độ trễ báo lỗi để biết thông tin chi tiết.
      • Lệnh này có thể cung cấp và ghi lại độ trễ sau khi hoàn tất ít nhất một trường hợp kiểm thử.
    2. Sử dụng ứng dụng kiểm thử nút chuyển đổi âm thanh.
      • Ứng dụng chạy trên Trình tìm kiếm mục tiêu sẽ hiển thị độ trễ sau khi chuyển đổi.
      • Nếu không có nút chuyển, ứng dụng sẽ hiển thị lý do "không có nút chuyển".

Ứng dụng kiểm thử nút chuyển đổi âm thanh:

  • Việc sử dụng ứng dụng để kích hoạt các sự kiện âm thanh VoIP/Media/Game trong quá trình tự kiểm thử sẽ đơn giản hoá việc thiết lập kiểm thử và giảm độ trễ sự kiện của Trình tìm kiếm.
  • Cài đặt ứng dụng:
    • Sao chép tệp apk vào điện thoại thử nghiệm rồi mở tệp đó.
    • Ngoài ra, hãy sử dụng adb install audio_test_app.apk.
  • Nếu bạn thấy hộp thoại yêu cầu cấp quyền truy cập thông báo, hãy làm như sau:
    1. nhấp vào "OK"
    2. Chọn "FP SASS test" (Kiểm thử FP SASS) trong danh sách ứng dụng
    3. Cho phép truy cập thông báo.

Tổng quan về ứng dụng:

Hình ảnh này là ví dụ về ứng dụng đang chạy

  • Nhà cung cấp mục tiêu

    • Khi bạn nhấp vào nút này, danh sách các thiết bị Bluetooth đã ghép nối sẽ xuất hiện. Chọn chiến dịch mà bạn muốn thử nghiệm.
    • Các nút Kết nối và Ngắt kết nối hoạt động giống như nút trong phần chi tiết thiết bị của phần cài đặt Bluetooth.
  • Trạng thái hiện tại

    • Trường này cho biết trạng thái kết nối gần đây nhất mà Trình tìm kiếm nhận được từ một Nhà cung cấp bằng cách sử dụng luồng sự kiện hoặc quảng cáo BLE.
    • Thông báo gỡ lỗi nút chuyển âm thanh cũng xuất hiện ở đây.
  • Loại trình tìm kiếm

    • Tuỳ chọn này dùng để chuyển đổi thiết bị giữa các luồng âm thanh.

Loại âm thanh

Cổ điển với A2DP+HFP

  • VoIP
    • Việc chọn chế độ này sẽ thay đổi chế độ âm thanh thành AudioManager.MODE_IN_COMMUNICATION và gọi AudioManager.startBluetoothSco, sau đó phát âm thanh bằng USAGE_VOICE_COMMUNICATION.
    • Loại luồng là STREAM_VOICE_CALL.
    • Trạng thái kết nối của nhà cung cấp sẽ chuyển sang CONNECTED_HFP trong vòng 5 giây.
  • Nội dung nghe nhìn
    • Khi chọn chế độ này, âm thanh hỗ trợ AVRCP sẽ phát. Loại sử dụng âm thanh là: USAGE_MEDIA.
    • Trạng thái kết nối của nhà cung cấp sẽ chuyển sang CONNECTED_A2DP_WITH_AVRCP trong vòng 5 giây.
    • Trạng thái kết nối có thể chuyển sang CONNECTED_A2DP_ONLY trong giây lát khi bắt đầu hoặc dừng.
  • Trò chơi
    • Khi chọn chế độ này, âm thanh không hỗ trợ AVRCP sẽ phát. Loại sử dụng âm thanh là: USAGE_GAME.
    • Trạng thái kết nối của nhà cung cấp sẽ chuyển sang CONNECTED_A2DP_ONLY trong vòng 5 giây.

BLE với LE Audio

  • VoIP

    • Khi chọn chế độ này, chế độ âm thanh sẽ thay đổi thành AudioManager.MODE_IN_COMMUNICATION và phát âm thanh bằng USAGE_VOICE_COMMUNICATION.
    • Loại luồng là STREAM_VOICE_CALL.
    • Trạng thái kết nối của nhà cung cấp sẽ chuyển sang CONNECTED_LE_AUDIO_CALL trong vòng 5 giây.
  • Nội dung nghe nhìn

    • Khi chọn chế độ này, âm thanh sẽ phát với loại luồng là STREAM_MUSIC. Loại sử dụng âm thanh là: USAGE_MEDIA.
    • Trạng thái kết nối của nhà cung cấp sẽ chuyển sang CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL trong vòng 5 giây.
    • Trạng thái kết nối có thể chuyển sang CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL trong giây lát khi bắt đầu hoặc dừng.
  • Trò chơi

    • Khi chọn chế độ này, âm thanh sẽ phát mà người dùng không có quyền kiểm soát trực tiếp. Loại sử dụng âm thanh là: USAGE_GAME.
    • Trạng thái kết nối của nhà cung cấp sẽ chuyển sang CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL trong vòng 5 giây.
  • Nút Phát và Dừng

    • Nút PHÁT và DỪNG bắt đầu hoặc dừng phát âm thanh.
  • Kết quả chuyển đổi

    • Trường này cho thấy độ trễ đang hoạt động của tính năng Kết nối và Chuyển đổi. Thông báo này cũng cho biết lý do từ chối chuyển đổi nếu một sự kiện âm thanh đã được kích hoạt nhưng không có chuyển đổi nào xảy ra.
    • Độ trễ được tính bằng mili giây (ms).
    • Nhìn chung, độ trễ được đo từ thời điểm bắt đầu kích hoạt nút chuyển Âm thanh cho đến khi nhận được một hồ sơ BT đã kết nối hoặc sự kiện Thông báo chuyển đổi đa điểm.
    • Các nút chuyển do nhà cung cấp kích hoạt đo độ trễ từ khi bắt đầu âm thanh.

Độ trễ kết xuất

  • Lệnh sau đây cho phép người dùng ghi lại các phép đo độ trễ khi chạy kiểm thử thủ công: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • Các phép đo độ trễ được hiển thị trong phần SwitchHistory của NearbyDeviceManager:
            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"
  • Bất kỳ nút chuyển nào mà GmsCore không thể đo lường (ví dụ: nút chuyển đang hoạt động cho HFP) sẽ được ghi lại là độ trễ 0 mili giây.

Tài liệu tham khảo về mẫu nhật ký:

Ví dụ về nhật ký từ kiểm thử độ trễ

Vấn đề đã biết:

Sau đây là các lỗi đã biết do Trình tìm kiếm gây ra:

  1. Chuyển đổi âm thanh trò chơi không chính xác.
    • Điện thoại Samsung sẽ đặt trạng thái kết nối thành CONNECTED_A2DP_WITH_AVRCP thay vì CONNECTED_A2DP_ONLY khi chơi trò chơi.
    • Một số trò chơi (chẳng hạn như Candy Crush) có thể phát lại nhạc nền và kích hoạt một sự kiện âm thanh mới mà không cần người dùng nhập. Các điện thoại đã kết nối có thể liên tục chuyển đổi âm thanh trên mọi điện thoại mở trò chơi.