OpenSL ES

注: デベロッパーは、GitHub で入手可能なオープンソースの Oboe ライブラリの使用を検討してください。Oboe は、AAudio によく似た API を提供する C++ ラッパーです。Oboe は、AAudio が利用可能な場合は AAudio を呼び出し、AAudio が利用できない場合は OpenSL ES にフォールバックします。

NDK パッケージには、Khronos グループが策定した OpenSL ESTM 1.0.1 API 仕様の Android 固有の実装が含まれています。このライブラリを使用すると、シンセサイザー、デジタル オーディオ ワークステーション、カラオケ、ゲーム、その他のリアルタイム アプリを作成する際に、C または C++ を使用して高パフォーマンスで低レイテンシのオーディオを実装できます。

OpenSL ESTM 標準は、Android Java フレームワークの MediaPlayer API と MediaRecorder API のものと同様のオーディオ機能を公開します。OpenSL ES は C 言語インターフェースと C++ バインディングを提供しているため、どちらの言語で作成されたコードからでも API を呼び出すことができます。

OpenSL ES API は、アプリのオーディオ性能の開発と改善に利用できます。

標準の OpenSL ES ヘッダー <SLES/OpenSLES.h> と <SLES/OpenSLES_Platform.h> はオーディオの入出力を可能にします。その他の Android 固有の機能は <SLES/OpenSLES_Android.h> と <SLES/OpenSLES_AndroidConfiguration.h> にあります。

このセクションでは、まず、OpenSL ES をアプリに組み込む方法について説明します。次に、OpenSL ES の Android 実装について知っておくべきことについて説明します。まず、この実装とリファレンス仕様の違いに焦点を絞り、Android の互換性を確保するための追加の拡張機能に焦点を当てます。最後に、OpenSL ES を適切に実装するための補足的な プログラミング メモをいくつか紹介します。