Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Độ trễ âm thanh cho nhà phát triển ứng dụng

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Để có độ trễ âm thanh thấp nhất có thể, chúng tôi khuyên bạn nên sử dụng âm thanh gốc của Android dựa trên OpenSL ES 1.0.1.

danh sách kiểm tra thực hiện

Để sử dụng âm thanh gốc của Android:

  1. Tải xuống và cài đặt Android NDK . Trong phần còn lại của tài liệu này, chúng tôi sẽ giả sử NDKroot là thư mục mà bạn đã cài đặt NDK.
  2. Đọc tài liệu hỗ trợ.
  3. Kiểm tra API cấp 9 trở lên.
  4. Kiểm tra tính năng android.hardware.audio.low_latency.
  5. Sử dụng kích thước bộ đệm gốc được đề xuất và tỷ lệ mẫu được trả về bởi android.media.AudioManager.getProperty(java.lang.String)

    Lưu ý : nên sử dụng cùng kích thước bộ đệm và tốc độ mẫu cho đầu vào.

  6. Thông thường, số lượng bộ đệm OpenSL ES là 1 là đủ.
  7. Giữ cho trình xử lý gọi lại của bạn ngắn gọn, không sử dụng CPU quá mức hoặc chặn không giới hạn. Tránh đảo ngược ưu tiên.
  8. Cân nhắc sử dụng các thuật toán không chặn để giao tiếp giữa các trình xử lý gọi lại đầu vào và đầu ra cũng như giữa các trình xử lý gọi lại với phần còn lại của ứng dụng của bạn.

Tài liệu bổ trợ

OpenSL ES 1.0.1

Sử dụng trình xem PDF để xem lại Đặc tả OpenSL 1.0.1. Đây là một tài liệu tham khảo khá dài và không phải tất cả đều phù hợp với bạn; nhưng bạn sẽ cần tham khảo nó để biết chi tiết về API.

Lưu ý : tài liệu này mô tả OpenSL ES 1.0.1 đầy đủ, nhưng âm thanh gốc của Android thực sự dựa trên tập hợp con của OpenSL ES 1.0.1 với một số tiện ích mở rộng dành riêng cho Android.

Tài liệu mô tả các phiên bản mới hơn của OpenSL ES, chẳng hạn như 1.1, không liên quan đến Android.

OpenSL ES cho Android

Tài liệu "OpenSL ES cho Android" được cung cấp trong bản cài đặt NDK và hiện không có sẵn trực tuyến. Mở liên kết này trong trình duyệt:

NDKroot/docs/Additional_library_docs/opensles/index.html

Bạn sẽ muốn đọc lướt toàn bộ tài liệu, nhưng đặc biệt chú ý đến phần phụ "Hiệu suất" của phần "Ghi chú lập trình".

Phần "Các tính năng được hỗ trợ từ OpenSL ES 1.0.1" mô tả tập hợp con được Android hỗ trợ.

Phần "Tiện ích mở rộng Android" mô tả các tiện ích mở rộng dành riêng cho Android không có trong OpenSL ES 1.0.1 cơ sở.

Mối quan hệ với OpenSL ES 1.0.1

Sơ đồ Venn này cho thấy mối quan hệ giữa âm thanh gốc của Android và OpenSL ES 1.0.1.

biểu đồ Venn

Hình 1. Biểu đồ Venn

Các nguồn lực khác

nguồn.android.com

Trang web source.android.com được thiết kế chủ yếu cho các OEM xây dựng thiết bị Android và các nhà cung cấp SoC cung cấp linh kiện cho các OEM này.

Tuy nhiên, có rất nhiều thông tin hữu ích về độ trễ tại trang web này, vì vậy bạn có thể muốn xem lại nó. Xem các bài viết tại Độ trễ âm thanh.

android-ndk

Nếu bạn có thắc mắc về cách sử dụng âm thanh gốc của Android, bạn có thể hỏi tại nhóm thảo luận android-ndk.

Video

Âm thanh hiệu suất cao trên Android (Google I/O 2013)
Toàn bộ video nói về độ trễ.
Xây dựng trải nghiệm đa phương tiện tuyệt vời trên Android (Google I/O 2014)
14 phút đầu tiên là về âm thanh nói chung và độ trễ đầu vào nói riêng.
Độ trễ âm thanh: kích thước bộ đệm (100 Days of Google Dev)
Mô tả mối quan hệ giữa độ trễ âm thanh, kích thước bộ đệm và lập lịch tác vụ.