OpenSL ES

Lưu ý: Nhà phát triển nên cân nhắc sử dụng thư viện Oboe nguồn mở có sẵn trên GitHub. Oboe là một trình bao bọc C++, cung cấp một API gần giống với AAudio. Oboe gọi AAudio khi có API này và quay lại sử dụng OpenSL ES nếu không có AAudio.

Gói NDK bao gồm bản triển khai dành riêng cho Android của bản đặc tả OpenSL ES™ 1.0.1 API do Khronos Group phát triển. Thư viện này cho phép bạn sử dụng C hoặc C++ để triển khai âm thanh với hiệu suất cao và độ trễ thấp, cho dù bạn đang viết bộ tổng hợp, máy trạm âm thanh kỹ thuật số, chương trình karaoke, trò chơi hay ứng dụng theo thời gian thực khác.

Tiêu chuẩn OpenSL ES™ thể hiện các tính năng âm thanh tương tự như tính năng trong API MediaPlayerMediaRecorder trong khung Android Java. OpenSL ES cung cấp giao diện ngôn ngữ C cũng như các đường liên kết C++, cho phép bạn gọi API này từ mã được viết bằng một trong hai ngôn ngữ.

OpenSL ES API được cung cấp nhằm giúp bạn phát triển và cải thiện hiệu suất âm thanh của ứng dụng.

Các tiêu đề OpenSL ES tiêu chuẩn <SLES/OpenSLES.h> và <SLES/OpenSLES_Platform.h> cho phép nhập và xuất âm thanh. Chức năng bổ sung dành riêng cho Android nằm trong <SLES/OpenSLES_Android.h> và <SLES/OpenSLES_AndroidConfiguration.h>.

Trước tiên, phần này giải thích cách kết hợp OpenSL ES vào ứng dụng. Tiếp theo, phần này giải thích những điều bạn cần biết về việc triển khai OpenSL ES trên Android, trước tiên là tập trung vào điểm khác biệt giữa bản triển khai này và thông số kỹ thuật tham chiếu, rồi đến các phần mở rộng khác cho khả năng tương thích với Android. Cuối cùng, phần này đưa ra một số ghi chú lập trình bổ sung để đảm bảo triển khai chính xác OpenSL ES.