ubuntu@ubuntu-xm:~/work/J19_0417/vendor/mediatek/proprietary/hardware$ grep -rni AudioALSAStreamManager . | grep -i tag
./audio/common/V3/aud_drv/AudioALSAStreamManager.cpp:119:#define LOG_TAG “AudioALSAStreamManager”
ubuntu@ubuntu-xm:~/work/J19_0417/vendor/mediatek/proprietary/hardware$
音频播放需要AudioTrack写入音频数据,同时需要AudioFlinger完成混音,因此需要在AudioTrack与AudioFlinger之间建立数据通道,而AudioTrack与AudioFlinger又分属不同的进程空间,Android系统采用Binder通信方式来搭建它们之间的桥梁。
音频焦点在微信电话之后,也正常释放:
02-20 10:59:32:758 requestAudioFocus() from uid/pid 10199/3863 clientId=android.media.AudioManager@e496834com.tencent.mm.compatible.util.c$1@5381688 callingPack=com.tencent.mm req=2 flags=0x0 sdk=28
02-20 11:01:10:717 abandonAudioFocus() from uid/pid 10199/3863 clientId=android.media.AudioManager@e496834com.tencent.mm.compatible.util.c$1@5381688
02-20 11:02:33:450 abandonAudioFocus() from uid/pid 10083/31852 clientId=android.media.AudioManager@43675b8com.miui.player.service.AutoPauseManager$3@75e5f91
02-20 11:02:33:624 requestAudioFocus() from uid/pid 10083/31852 clientId=android.media.AudioManager@43675b8com.miui.player.service.AutoPauseManager$3@75e5f91 callingPack=com.miui.player req=1 flags=0x0 sdk=28