0

Android 4.3 の openSL ES API を介して、利用可能なオーディオ エンドポイント (イヤホン、スピーカーフォン、有線ヘッドセット、Bluetooth ヘッドセット) を取得することは可能ですか?

それとも、すべて Java レベルで行われますか?

現在の状況では、openSL ES オーディオ ドライバーを実装しています。ドライバーは、既定のマイクからマイク パケットを受信し、スピーカー パケットを既定のスピーカー エンドポイントに配信するだけです。

可能であれば、コードに追加の関数をいくつか作成したいと考えています。1 つはエンドポイントについて照会し、もう 1 つはエンドポイントを設定します。

4

1 に答える 1

1

Android 4.3 の openSL ES API を介して、利用可能なオーディオ エンドポイント (イヤホン、スピーカーフォン、有線ヘッドセット、Bluetooth ヘッドセット) を取得することは可能ですか?

さまざまなオーディオ ストリーム タイプを使用したり、いくつかのAudioManagerメソッド (setBluetoothScoOnや など) を使用したりして、オーディオをルーティングする方法についてヒントを与えることができますsetSpeakerphoneOn。しかし、最終的には、特定の状況でオーディオをルーティングする方法を決定するのは OEM 次第です。

それとも、すべて Java レベルで行われますか?

ルーティング ポリシーはネイティブ レベルで実装されます。そのコードを見つける場所は、使用しているプラ​​ットフォームによって異なりますが、Qualcomm のプラットフォームの多くでは、hardware/qcom/audio/alsa_sound/の下にあります。

于 2013-11-06T09:19:21.867 に答える