2
  • オーディオ データを送信する新しいアプリを作成していますが、このデータの転送に特定のミキサー コントロールを使用したいと考えていました。

    そこで、AUDIO_DEVICE_OUT_SPEAKER (AUDIO_DEVICE_OUT_NEW) のような新しいデバイス定数を追加し、このデバイス定数を選択して取得したいと考えました。

    (上記の新しい定数を作成するのは、他のアプリとの差別化のためです)

    この変数を HAL で使用し、作成された新しいユースケースを選択します。

    上記の場合、誰が AUDIO_DEVICE_OUT_SPEAKER (または同様の定数) を選択したか、およびこの定数が選択される条件に基づいて、新しく作成した定数 (AUDIO_DEVICE_OUT_NEW) に対して同じものを複製できるようにする必要があります。

    Google で検索しましたが、利用できる情報はほとんどありません。どんな提案や助けも本当に感謝しています。

    私はキットカットのソースコードを使用しています。

4

1 に答える 1

0

オーディオ HAL はプラットフォームごとに異なる可能性があり、場合によっては OEM ごとに異なる可能性があります (私は以前、Sony でオーディオ HAL とフレームワークに取り組んでいましたが、以前の製品と一貫したルーティングを行うためにいくつかのカスタマイズを行い、Sony 独自のオーディオ効果など)。

とにかく、オーディオ HAL には通常、現在のユースケース (音声通話、音楽の再生、通知の再生)、接続されているアクセサリなどに基づいて高レベルのルーティング決定を行うポリシー マネージャーが含まれます。私が一緒に仕事をしたオーディオ ポリシー マネージャーには、getDeviceForStrategyこの選択を実行するメソッドがありました。これは、一部の Qualcomm ベースのデバイス (おそらくいくつかのカスタマイズを伴う) で見つかる可能性が高い、その方法の 1 つの実装です。

新しい定数を追加AUDIO_DEVICE_OUT_し、ポリシー マネージャーで特定の条件下でそれを選択するだけでは、何の役にも立たないことに注意してください。また、ハードウェア レベルで適切なサウンド パスを有効にする一連のパラメーターに新しいデバイスをマップするために、HAL で他の変更を行う必要があります。もう少し詳しい情報については、代替サウンド パスの作成に関する以前の回答を参照してください。

于 2015-07-29T11:34:01.603 に答える