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設定が選択されます。
著作権上の理由により、残りの実装について詳しく説明することはできません。そのため、興味のある人が自分で理解するための演習として残しておきます。