高性能オーディオ
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
一般的に、高性能オーディオ アプリには単に音を再生したり記録したりする以上の機能が求められます。このようなアプリには、応答性に優れたリアルタイム システム動作が必要となります。一般的なユースケースは次のとおりです。
デジタル オーディオ ワークステーション
シンセサイザー
ドラムマシン
音楽学習アプリ
カラオケアプリ
DJ ミキシング
オーディオ エフェクト
ビデオ会議 / 音声会議
このセクションでは、オーディオ レイテンシ を最小限に抑えるための一般原則について説明します。
また、最適なサンプルレートを選択できるようにオーディオのサンプリングに関するアドバイス を示し、浮動小数点数を使用してオーディオ データを示す際の長所と短所について検討します。
さらに、高性能オーディオ アプリを作成する際に利用可能な 2 つのライブラリについても説明します。
OpenSL ES は、Khronos Group が策定した OpenSL ES™ API 仕様の Android 固有の実装です。OpenSL ES を新規の設計に使用することはおすすめできません。アプリ デベロッパーとミドルウェア プロバイダは、ネイティブ オーディオ インターフェースとして Oboe または AAudio を使用してください。
AAudio は、OpenSL ES ライブラリの代替品となる軽量版のネイティブ Android ライブラリとして開発されました。AAudio API は OpenSL ES よりもコンパクトで使いやすくなっています。
注: デベロッパーは、GitHub で入手可能なオープンソース Oboe ライブラリの使用を検討してください。Oboe は、AAudio とよく似た API を提供する C++ ラッパーです。AAudio を利用できる場合は AAudio を呼び出し、AAudio を利用できない場合は OpenSL ES にフォールバックします。 参考情報
詳細については、以下のリソースをご覧ください。
サンプル
Codelab
動画
Content and code samples on this page are subject to the licenses described in the Content License . Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2021-10-29 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"必要な情報がない"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"複雑すぎる / 手順が多すぎる"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"最新ではない"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻訳に関する問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"サンプル / コードに問題がある"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"その他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"わかりやすい"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"問題の解決に役立った"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"その他"
}]