OpenSL ES

注意:開發人員應考慮使用可於 GitHub 取得的開放原始碼 Oboe 程式庫。Oboe 是 C++ 包裝函式,提供與 AAudio 非常相似的 API。Oboe 會在 AAudio 可用時呼叫 AAudio,而在 AAudio 不可用時則會改回使用 OpenSL ES。

NDK 套件提供適用於 Khronos Group OpenSL ES™ 1.0.1 API 規範的 Android 專屬實作。無論是編寫合成器、數位音訊工作站、卡拉 OK、遊戲或其他即時應用程式,這個程式庫都可讓您使用 C 或 C++ 來實作高效能、短延遲時間的音訊。

OpenSL ES™ 標準提供與 Android Java 架構中的 MediaPlayerMediaRecorder API 相似的音訊功能。OpenSL ES 提供 C 語言介面和 C++ 繫結,可讓您透過以任一種語言編寫的程式碼呼叫 API。

OpenSL ES API 可協助您開發及改善應用程式的音訊效能。

標準 OpenSL ES 標頭 <SLES/OpenSLES.h> 和 <SLES/OpenSLES_Platform.h> 允許音訊輸入和輸出。<SLES/OpenSLES_Android.h> 和 <SLES/OpenSLES_AndroidConfiguration.h> 中提供其他 Android 專屬功能。

本節首先說明如何將 OpenSL ES 納入應用程式中,接著說明 OpenSL ES 的 Android 實作須知內容,當中會先重點介紹這種實作與參考規範之間的差異,然後會介紹用於確保 Android 相容性的其他擴充功能。最後,本節會提供一些補充性程式設計注意事項,用於確保正確實作 OpenSL ES。