Triển khai tính năng theo dõi chuyển động của đầu và âm thanh không gian chất lượng cao

Android 13 ra mắt tính năng hỗ trợ âm thanh không gian bằng cách cung cấp API giúp nhà phát triển ứng dụng biết được liệu tổ hợp hiện tại của điện thoại triển khai, tai nghe được kết nối và cài đặt người dùng cho phép phát lại nội dung âm thanh đa kênh một cách sống động.

Nhà sản xuất thiết bị gốc có thể cung cấp hiệu ứng âm thanh không gian nhờ tính năng hỗ trợ theo dõi chuyển động của đầu bằng mức hiệu suất và độ trễ cần thiết, bằng quy trình âm thanh mới tích hợp cấu trúc và khung cảm biến. Chiến lược phát hành đĩa đơn Giao thức HID chỉ định cách kết nối thiết bị theo dõi chuyển động của đầu qua Bluetooth và thiết lập thiết bị này ở dạng thiết bị HID thiết bị thông qua khung cảm biến Android. Xem bài viết Âm thanh không gian và theo dõi chuyển động của đầu để biết thêm yêu cầu và xác thực.

Các nguyên tắc trên trang này áp dụng cho giải pháp âm thanh không gian sử dụng API âm thanh không gian và cấu trúc âm thanh mới với điện thoại Android đang chạy Tai nghe chạy Android 13 trở lên và tai nghe tương thích có cảm biến theo dõi chuyển động của đầu.

Hướng dẫn triển khai chế độ âm thanh không gian động và tĩnh

Âm thanh không gian tĩnh không cần theo dõi chuyển động của đầu, nên rất cụ thể trong tai nghe. Tất cả tai nghe có dây và không dây đều có thể hỗ trợ âm thanh không gian tĩnh.

Triển khai API

OEM PHẢI triển khai Spatializer được ra mắt trong Android 12. Quá trình triển khai phải vượt qua các bài kiểm thử CTS được giới thiệu cho lớp Spatializer.

Việc triển khai API mạnh mẽ đảm bảo rằng các nhà phát triển ứng dụng, cụ thể là các kênh truyền thông của chúng tôi, có thể dựa vào hành vi nhất quán trên toàn hệ sinh thái và chọn nội dung tốt nhất theo khả năng của thiết bị, khả năng hiển thị hiện tại bối cảnh và lựa chọn của người dùng.

Giao diện người dùng

Sau khi triển khai Spatializer , hãy xác thực rằng giao diện người dùng có hành vi sau:

  • Khi tai nghe có hỗ trợ âm thanh không gian được ghép nối, thiết bị Bluetooth phần cài đặt của tai nghe này hiển thị nút bật/tắt Âm thanh không gian:

    Giao diện người dùng âm thanh không gian

    Hình 1. Chế độ cài đặt Âm thanh không gian.

  • Các chế độ cài đặt này có sẵn khi tai nghe bị ngắt kết nối.

  • Trạng thái mặc định cho âm thanh không gian sau lần ghép nối tai nghe ban đầu là đặt thành enabled (đã bật).

  • Trạng thái do người dùng chọn (cho dù đang bật hay tắt) vẫn duy trì trạng thái của điện thoại khởi động lại hoặc huỷ ghép nối và ghép nối tai nghe.

Hành vi chức năng

Định dạng âm thanh

Các định dạng âm thanh sau đây PHẢI được hiển thị bằng hiệu ứng không gian khi âm thanh không gian được bật và thiết bị kết xuất là có dây hoặc Bluetooth tai nghe:

  • AAC, 5.1 kênh
  • PCM thô, 5.1 kênh

Để có trải nghiệm người dùng tốt hơn, bạn nên hỗ trợ những tính năng sau định dạng/cấu hình kênh:

  • Dolby Digital Plus
  • 5.1.2, 7.1, 7.1.2, 7.1.4 kênh

Phát nội dung âm thanh nổi

Bạn không được kết xuất nội dung âm thanh nổi thông qua công cụ tạo hiệu ứng không gian, kể cả nếu bạn bật tính năng âm thanh không gian. Nếu quá trình triển khai cho phép nội dung âm thanh nổi không gian, nó phải hiển thị một giao diện người dùng tuỳ chỉnh cho phép người dùng bật tính năng này bật hoặc tắt dễ dàng. Khi bật âm thanh không gian, bạn phải chuyển tiếp giữa phát lại nội dung đa kênh không gian sang nội dung âm thanh nổi không theo không gian mà không yêu cầu bất kỳ thay đổi nào trong cài đặt của người dùng hoặc kết nối lại hoặc định cấu hình lại tai nghe. Sự chuyển đổi giữa âm thanh không gian nội dung và nội dung âm thanh nổi phải xảy ra và hạn chế tối đa tình trạng gián đoạn âm thanh.

Chuyển đổi trường hợp sử dụng và mô hình đồng thời

Xử lý các trường hợp sử dụng đặc biệt như sau:

  • Thông báo phải được kết hợp với nội dung âm thanh không gian trong cùng một giống như với nội dung âm thanh không có không gian.
  • Bạn phải cho phép trộn nhạc chuông với nội dung âm thanh không gian. Tuy nhiên, theo mặc định, cơ chế tập trung âm thanh sẽ tạm dừng nội dung âm thanh không gian khi có nhạc chuông.
  • Khi trả lời hoặc thực hiện cuộc gọi điện thoại hay hội nghị truyền hình, không gian phải tạm dừng phát âm thanh. Quá trình phát âm thanh không gian phải tiếp tục bằng cùng một chế độ cài đặt âm thanh không gian khi cuộc gọi kết thúc. Định cấu hình lại đường dẫn âm thanh để chuyển từ chế độ âm thanh không gian sang chế độ trò chuyện phải diễn ra nhanh chóng và liền mạch để không ảnh hưởng đến trải nghiệm cuộc gọi.

Kết xuất trên loa

Tính năng hỗ trợ không gian âm thanh qua loa hoặc chế độ xuyên âm chưa được hỗ trợ là bắt buộc.

Nguyên tắc triển khai tính năng theo dõi chuyển động của đầu

Phần này tập trung vào âm thanh không gian động, có tai nghe riêng các yêu cầu liên quan.

Giao diện người dùng

Sau khi triển khai và ghép nối tai nghe có hỗ trợ âm thanh không gian, hãy xác thực rằng giao diện người dùng của bạn có hành vi sau:

  • Trong phần cài đặt thiết bị Bluetooth, khi cài đặt Âm thanh không gian cho tai nghe đã được bật, cài đặt Theo dõi chuyển động của đầu sẽ xuất hiện trong Âm thanh không gian:

    Giao diện người dùng ht

    Hình 2. Chế độ cài đặt theo dõi chuyển động của đầu và âm thanh không gian.

  • Chế độ cài đặt theo dõi chuyển động của đầu KHÔNG hiển thị khi âm thanh không gian bị tắt.

  • Trạng thái mặc định cho tính năng theo dõi chuyển động của đầu sau khi ghép nối tai nghe lần đầu là đặt thành enabled (bật).

  • Trạng thái mà người dùng đã chọn, cho dù được bật hay tắt, phải duy trì thông qua một điện thoại khởi động lại hoặc huỷ ghép nối và ghép nối tai nghe.

Hành vi chức năng

Báo cáo tư thế đầu

  • Thông tin về tư thế đầu, theo toạ độ x, y và z, được gửi từ tai nghe đến thiết bị Android, phải phản ánh nhanh chóng cử động đầu của người dùng và một cách chính xác.
  • Báo cáo tư thế đầu qua liên kết Bluetooth phải tuân theo giao thức đã xác định qua HID.
  • Tai nghe phải gửi thông tin theo dõi chuyển động của đầu đến điện thoại Android chỉ khi người dùng bật tính năng Theo dõi chuyển động của đầu trong phần cài đặt thiết bị Bluetooth Giao diện người dùng.

Hiệu suất

Độ trễ

Độ trễ theo dõi chuyển động của đầu là thời gian tính từ chuyển động đầu được thu bằng đơn vị đo lường quán tính (IMU) đến bộ chuyển đổi tai nghe phát hiện sự thay đổi âm thanh do chuyển động này gây ra. Độ trễ của theo dõi chuyển hướng người dùng không được vượt quá 150 mili giây.

Tỷ lệ báo cáo tư thế đầu

Khi tính năng theo dõi chuyển động của đầu hoạt động, tai nghe phải báo cáo tư thế đầu trên định kỳ khoảng 20 mili giây. Để tránh kích hoạt phiên bản lỗi thời logic phát hiện đầu vào trên điện thoại trong quá trình biến động truyền của Bluetooth, thời gian tối đa giữa hai lần cập nhật không được vượt quá 40 mili giây.

Tối ưu hoá nguồn điện

Để tối ưu hoá sức mạnh, chúng tôi khuyên bạn nên sử dụng Chuyển đổi bộ mã hoá và giải mã Bluetooth và cơ chế chọn chế độ độ trễ do HAL âm thanhHAL âm thanh Bluetooth giao diện.

Đã có các hoạt động triển khai AOSP của khung âm thanh và ngăn xếp Bluetooth hỗ trợ các tín hiệu để kiểm soát việc chuyển đổi bộ mã hoá và giải mã. Nếu hoạt động triển khai của OEM sử dụng HAL âm thanh chính cho âm thanh Bluetooth, còn gọi là chế độ giảm tải cho bộ mã hoá và giải mã, OEM phải đảm bảo rằng HAL âm thanh chuyển tiếp các tín hiệu đó giữa HAL âm thanh và ngăn xếp Bluetooth.

Chuyển đổi bộ mã hoá và giải mã

Khi bật tính năng theo dõi chuyển động của âm thanh không gian và chuyển động của đầu, hãy sử dụng một bộ mã hoá và giải mã có độ trễ thấp chẳng hạn như Opus. Khi chơi không theo không gian nội dung âm thanh, hãy sử dụng bộ mã hoá và giải mã công suất thấp như Mã hoá âm thanh nâng cao (AAC).

Hãy tuân thủ các quy tắc sau trong quá trình chuyển đổi bộ mã hoá và giải mã:

  • Chỉ theo dõi hoạt động trên các luồng đầu ra HAL âm thanh sau đây:
    • Đầu ra bộ không gian chuyên dụng
    • Luồng dành riêng cho nội dung đa phương tiện, chẳng hạn như vùng đệm sâu hoặc giảm tải được nén phát
  • Khi tất cả các luồng liên quan đều ở trạng thái rảnh và luồng âm thanh không gian bắt đầu, hãy bắt đầu luồng Bluetooth có isLowLatency được đặt thành true để chỉ định một bộ mã hoá và giải mã có độ trễ thấp.

  • Khi tất cả các luồng liên quan đều ở trạng thái rảnh và một luồng nội dung nghe nhìn bắt đầu, hãy bắt đầu Luồng qua Bluetooth với isLowLatency được đặt thành false để chỉ định một bộ mã hoá và giải mã công suất thấp.

  • Nếu luồng nội dung nghe nhìn đang hoạt động và luồng âm thanh không gian bắt đầu, hãy bắt đầu lại Phát trực tuyến qua Bluetooth với isLowLatency được đặt thành true.

Về phía tai nghe, tai nghe phải hỗ trợ cả độ trễ thấp và công suất thấp bộ giải mã và triển khai giao thức lựa chọn bộ mã hoá và giải mã chuẩn.

Điều chỉnh chế độ độ trễ

Việc điều chỉnh chế độ độ trễ xảy ra khi bộ mã hoá và giải mã có độ trễ thấp được chọn.

Dựa trên việc bật hay tắt tính năng theo dõi chuyển động của đầu, tính năng điều chỉnh chế độ độ trễ sẽ sử dụng các cơ chế hiện có để giảm hoặc tăng độ trễ nhằm đạt được kết quả tốt nhất cân bằng giữa độ trễ, nguồn pin và chất lượng âm thanh. Khi âm thanh không gian là và bật tính năng theo dõi chuyển động của đầu, thì chế độ độ trễ thấp sẽ được chọn. Thời gian âm thanh không gian được bật và tính năng theo dõi chuyển động của đầu bị tắt (chế độ độ trễ miễn phí) được chọn. Việc điều chỉnh độ trễ giúp tiết kiệm pin đáng kể và tăng độ mạnh của liên kết âm thanh Bluetooth khi chỉ có âm thanh không gian tĩnh đã yêu cầu. Cơ chế điều chỉnh độ trễ phổ biến nhất là giảm hoặc phần mở rộng của kích thước bộ đệm dao động trong tai nghe Bluetooth.