一般的に、高性能オーディオ アプリには単に音を再生したり記録したりする以上の機能が求められます。このようなアプリには、応答性に優れたリアルタイム システム動作が必要となります。一般的なユースケースは次のとおりです。
- デジタル オーディオ ワークステーション
- シンセサイザー
- ドラムマシン
- 音楽学習アプリ
- カラオケアプリ
- DJ ミキシング
- オーディオ エフェクト
- ビデオ会議 / 音声会議
このセクションでは、オーディオ レイテンシを最小限に抑えるための一般原則について説明します。 また、最適なサンプルレートを選択できるようにオーディオのサンプリングに関するアドバイスを示し、浮動小数点数を使用してオーディオ データを示す際の長所と短所について検討します。
さらに、高性能オーディオ アプリを作成する際に利用可能な 2 つのライブラリについても説明します。
- OpenSL ES は、Khronos Group が策定した OpenSL ES™ API 仕様の Android 固有の実装です。OpenSL ES を新規の設計に使用することはおすすめできません。アプリ デベロッパーとミドルウェア プロバイダは、ネイティブ オーディオ インターフェースとして Oboe または AAudio を使用してください。
- AAudio は、OpenSL ES ライブラリの代替品となる軽量版のネイティブ Android ライブラリとして開発されました。AAudio API は OpenSL ES よりもコンパクトで使いやすくなっています。
参考情報
詳細については、以下のリソースをご覧ください。