10

デュアルスクリーンセットアップを作成しようとしています。Android タブレット (Nexus 10) は、HDMI を使用して別の画面に接続されています。

タブレットでムービーを再生する場合 (VLC または他のアプリを使用)、両方の画面で正しく表示されます。
ただし、オーディオ信号は HDMI 経由でのみ転送されます。SOUNDAbout アプリを使用して、ヘッドセットまたはHDMIでオーディオ出力を得ることができました。

両方のデバイスの音声出力を同時に設定する機能が表示されません。Audio Manager で設定してみましたが、1 つのチャンネルでしか機能しません。

AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

am.setSpeakerphoneOn(true);
am.setWiredHeadsetOn(true);

私が気付いたもう 1 つのことは、プラットフォームのオーディオ システムに変数を渡す setParameters API です。それは ALSA かもしれません。おそらく解決策はありますか?

4

1 に答える 1

3

すべての Android デバイスで動作することが保証されている方法でこれを行う方法はありません。ここでの問題は、一般に、プラットフォームに HDMI+スピーカーまたは HDMI+ヘッドセット コンボ デバイス (つまり、HDMI とその他の宛先の両方への単一の出力ストリームの低レベル ルートを記述するオーディオ デバイス) が欠けていることです。必ずしもハードウェアの制限があるわけではありませんが、通常使用するルートではないため、追加されていません。

HDMI と有線ヘッドセットの両方が任意のストリーム タイプに選択されるプラットフォームに出会ったことはありません。HDMI + スピーカーは、一部のプラットフォームで RING および ALARM ストリーム タイプに選択できますが、プラットフォームにそのルーティングの決定を実現するためのコンボ デバイスがない場合は、HDMI またはスピーカーのいずれかでしかオーディオを取得できません。このコード
を 見て、私が何を意味するかを確認してください。これは、Qualcomm プラットフォームを使用する OEM がそのコードに大きく基づいているものです。そして、この特定のコードが行うことは、特定のストリームの低レベルの出力ルートを選択することです。あなたの場合、HDMI(AUX_DIGITAL)が利用可能であることがわかるので、HDMIの「ユースケース」(このようなものに対応する)を選択してすぐに戻ります。

于 2012-12-28T11:19:54.020 に答える