OpenSL ES
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ẢNH BÁO: OpenSL ES không còn được dùng. Nhà phát triển nên sử dụng nguồn mở
Thư viện Oboe có 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 hiệu suất cao, độ trễ thấp, cho dù
bạn đang viết một bộ tổng hợp, máy trạm âm thanh kỹ thuật số, karaoke, trò chơi
hoặc ứ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 MediaPlayer
và MediaRecorder
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.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[],[],null,["# OpenSL ES\n\nWARNING: OpenSL ES is **deprecated** . Developers should use the open source\nOboe library which is available on [GitHub](https://github.com/google/oboe).\nOboe is a C++ wrapper that provides an API that closely resembles\n[AAudio](/ndk/guides/audio/aaudio/aaudio). Oboe calls AAudio when AAudio is\navailable, and falls back to OpenSL ES if AAudio is not available.\n\nThe NDK package includes an Android-specific implementation of the\n[OpenSL ES™](https://www.khronos.org/opensles/) 1.0.1 API\nspecification from the [Khronos Group](https://www.khronos.org).\nThis library lets you use C or C++ to implement high-performance, low-latency audio, whether\nyou are writing a synthesizer, digital audio workstation, karaoke, game,\nor other real-time app.\n\n\nThe OpenSL ES™ standard exposes audio features\nsimilar to those in the [MediaPlayer](/reference/android/media/MediaPlayer) and [MediaRecorder](/reference/android/media/MediaRecorder)\nAPIs in the Android Java framework. OpenSL ES provides a C language interface as well as\nC++ bindings, allowing you to call the API from code written in either language.\n\n\nThe OpenSL ES APIs are available to help you develop and improve your app's audio performance.\n\n\nThe standard OpenSL ES headers \\\u003cSLES/OpenSLES.h\\\u003e and\n\\\u003cSLES/OpenSLES_Platform.h\\\u003e allow audio input and output. Additional\nAndroid-specific functionality is in \\\u003cSLES/OpenSLES_Android.h\\\u003e and\n\\\u003cSLES/OpenSLES_AndroidConfiguration.h\\\u003e.\n\nThis section begins by explaining\n[how to incorporate OpenSL ES into your app](/ndk/guides/audio/opensl/getting-started).\nNext, it explains what you need to know\nabout the Android implementation of OpenSL ES, focusing first on the\n[differences](/ndk/guides/audio/opensl/opensl-for-android) between this implementation and the\nreference specification and then\n[additional extensions](/ndk/guides/audio/opensl/android-extensions)\nfor Android compatibility. This section concludes with some supplemental\n[programming notes](/ndk/guides/audio/opensl/opensl-prog-notes) to ensure proper\nimplementation of OpenSL ES."]]