MSM8960は、とという名前のALSAコントロールを提供します。このコントロールIncall_Music Audio Mixer
にCPU DAIMultiMedia1
とMultiMedia2
(それぞれALSAデバイスpcmC0D0p
とpcmC0D1p
に対応します)を接続できます。(msm-pcm-routingソースコードを参照してください)
したがって、音声通話を実行していて、アップリンクでオーディオを再生したい場合は、次の方法pcmC0D0p
でこれを行うことができますadb shell
(rootアクセスがあると仮定します)。
amix 'Incall_Music Audio Mixer MultiMedia1' 1
aplay -Dhw:0,0 mono_8khz_audio.wav
より洗練された方法は、デバイスのUCMファイル(snd_soc_msm_blah_blah ..)に新しいユースケースを作成し、新しいモディファイアのイネーブルシーケンスにインコールミュージックルーティングを追加することです。
'Incall_Music Audio Mixer MultiMedia1':1:1
(disable-sequenceでオフにすることを忘れないでください)。
アプリがカスタムROMでこの機能を使用できるようにするには、オーディオHALとマルチメディアフレームワークに他の変更を加える必要があります。これにより、通話がアクティブなときに、目的のストリームタイプに対して新しいUCM設定が選択されます。
著作権上の理由により、残りの実装について詳しく説明することはできません。そのため、興味のある人が自分で理解するための演習として残しておきます。