整个安卓设备的配置文件在system/etc/目录下,音频作为其中的一个子模块当然也包含在内,通过shell命令可以看到和下面类似的文件列表
msm8953_64:/system/etc $ ls
IPACM_cfg.xml data init.qcom.bt.sh mixer_paths_mtp.xml recovery-resource.dat
NOTICE.html.gz default_volume_tables.xml init.qcom.coex.sh mixer_paths_qrd_sku3.xml reduce_adj_list.xml
Rtkconfig.ini dpm init.qcom.debug.sh mixer_paths_qrd_skuh.xml sap.conf
a2dp_audio_policy_configuration.xml drc init.qcom.efs.sync.sh mixer_paths_qrd_skuhf.xml sec_config
aanc_tuning_mixer.txt ethertypes init.qcom.fm.sh mixer_paths_qrd_skui.xml security
acdbdata event-log-tags init.qcom.post_boot.sh mixer_paths_qrd_skum.xml sensors
apdr.conf firmware init.qcom.sdio.sh mixer_paths_qrd_skun.xml sound_trigger_mixer_paths.xml
apns-conf.xml flp.conf init.qcom.testscripts.sh mixer_paths_skuk.xml sound_trigger_mixer_paths_wcd9306.xml
appops_policy.xml fonts.xml init.qcom.uicc.sh mixer_paths_wcd9306.xml sound_trigger_mixer_paths_wcd9330.xml
audio_effects.conf fs_config_files init.qcom.wifi.sh mixer_paths_wcd9326.xml sound_trigger_mixer_paths_wcd9335.xml
audio_platform_info.xml ftm_test_config init.qti.ims.sh mixer_paths_wcd9330.xml sound_trigger_platform_info.xml
audio_platform_info_extcodec.xml ftm_test_config_msm8953-sku3-tasha-snd-card izat.conf mixer_paths_wcd9335.xml special_Permission_list.xml
audio_policy.conf ftm_test_config_mtp lowi.conf mkshrc spn-conf.xml
audio_policy_configuration.xml ftm_test_config_wcd9335 mcu mmi surround_sound_3mic
audio_policy_volumes.xml gamedwhitelist.xml media_codecs.xml packagesFilterList.txt thermal-engine.conf
bluetooth gps.conf media_codecs_8953_v1.xml permissions usb_audio_policy_configuration.xml
cacert_location.pem hcidump.sh media_codecs_google_audio.xml plmn-conf.xml vold.fstab
camera hostapd media_codecs_google_telephony.xml ppp wfdconfig.xml
capability.xml hosts media_codecs_google_video.xml preloaded-classes wfdconfigsink.xml
cdma_call_conf.xml hsic.control.bt.sh media_codecs_performance.xml promote_adj_list.xml white_app_list.xml
cdrom_install.iso init media_codecs_performance_8953_v1.xml public.libraries.txt whitelistedapps.xml
clatd.conf init.ath3k.bt.sh media_profiles.xml qca6234-service.sh wifi
cne init.crda.sh media_profiles_8953_v1.xml qmi_fw.conf xtra_root_cert.pem
compiled-classes init.qcom.audio.sh mixer_paths.xml r_submix_audio_policy_configuration.xml xtwifi.conf
/system/etc/audio_policy.conf:音频的硬件模块(包括primary,usb,a2dp,r_submix等4部分,这四个部分又一一对应着audio.xxx.default.so等4个共享库文件),在安卓的策略模块APM.cpp的构造函数中会将它们加载到系统中
当然有的安卓设备制造商也会有一个,它的存储目录是/vendor/etc/audio_policy.conf
/system/etc/mixer_paths.xml:系统中的音频流经过的路由列表
/system/etc/audio_policy_volumes.xml和default_volume_tables.xml:音频流的音量曲线,选取曲线上的四个点,通过四个点将上层设置的音频流音量的float值转换为db值,最后将这个db值设置到audio的硬件上去
/system/etc/media_codecs_google_audio: 系统中支持的音频流的编解码格式
/data/system/user/0(用户名)/settings_system.xml:保存着用户在系统设置中调节过的各类音频流音量的值,其实就是系统的Provider,settings_secure.xml和settings_global.xml 类型的也在同级目录
另外注意这些配置文件是在安卓设备中的,其实在系统源码中也能找到对应的源文件,设备中的配置文件也是源码经过编译后烧录进去的
如 /system/etc/audio_policy.conf 对应着源码的位置是 frameworks/av/services/audiopolicy/config/audio_policy.conf
调试音频的shell命令(调试音频流时很管用,强烈推荐使用!!!):
笔者通过shell命令解决过一个音频流混音卡顿的BUG,手机通过蓝牙连接车载设备,然后手机端播放音乐,声音在车载设备上跟高德语音导航的音频流一起混音播出时出现了卡顿的情况(当然车载设备已经支持了蓝牙的主从切换功能),但是在车载设备上播放音频和高德语音导航的音频流一起混音并没有出现卡顿的情况;后来是分析这两种场景下的音频流信息才找到的解决问题的思路,发现单独车载设备上播放音乐和高德导航混音时两者的音频流走的是不同的音频输出流通道;但是手机通过蓝牙连接车载设备播放音乐和高德导航一起混音时走的是同一个音频流输出通道(音乐和导航使用相同的通道时,当另一路导航音频流过来了,会将当前音频流通道暂时关闭之后再开启导致的卡顿),只要把手机上播放音频流的通道改成跟车载设备上播放音乐的通道一致,就没有出现卡顿的情况了~其实修改的是音频策略模块
dumpsys audio 当前系统中各种音频流的音量信息,以及音频焦点申请记录,外设插拔记录等
dumpsys media.audio_flinger 当前系统中音频流信息,以及对应的处理线程的相关信息。 Android Q 版本
dumpsys media.audio_policy 当前系统中可用的输入/输出设备,组合的音频通路等信息。Android Q 版本
附执行shell命令后的返回信息,这些信息精炼,但每行信息表示的含义都很重要!这些数字化的信息跟上层多样化的业务逻辑都是一一对应的,我会标注部分知道的信息,其它的信息还请Audio相关的大神们补充完善^^
============================================================
dten_s27:/ # dumpsys audio
MediaFocusControl dump time: 10:17:16 AM
Audio Focus stack entries (last is top of stack):(音频焦点栈信息,现在是由应用程序包名为org.chromium.content.browser的应用获取到音频焦点)
source:android.os.BinderProxy@f800af5 -- pack: org.chromium.webview_shell -- client: android.media.AudioManager@c44930forg.chromium.content.browser.AudioFocusDelegate@f46a57f -- gain: GAIN -- flags: -- loss: none -- notified: true -- uid: 10018 -- attr: AudioAttributes: usage=USAGE_MEDIA content=CONTENT_TYPE_MUSIC flags=0x0 tags= bundle=null -- sdk:24
No external focus policy
Notify on duck: true
In ring or call: false
Audio event log: focus commands as seen by MediaFocusControl(音频焦点的申请/释放记录,看到申请焦点的应用程序的包名)
05-07 10:16:35:309 requestAudioFocus() from uid/pid 10018/32500 clientId=android.media.AudioManager@c44930forg.chromium.content.browser.AudioFocusDelegate@a9b5f9c callingPack=org.chromium.webview_shell req=1 flags=0x0 sdk=24
05-07 10:16:48:504 abandonAudioFocus() from uid/pid 10018/32500 clientId=android.media.AudioManager@c44930forg.chromium.content.browser.AudioFocusDelegate@a9b5f9c
05-07 10:16:48:506 abandonAudioFocus() from uid/pid 10018/32500 clientId=android.media.AudioManager@c44930forg.chromium.content.browser.AudioFocusDelegate@a9b5f9c
05-07 10:17:05:451 requestAudioFocus() from uid/pid 10018/32500 clientId=android.media.AudioManager@c44930forg.chromium.content.browser.AudioFocusDelegate@f46a57f callingPack=org.chromium.webview_shell req=1 flags=0x0 sdk=24
Stream volumes (device: index)
- STREAM_VOICE_CALL:
Muted: false
Min: 0
Max: 100
Current: 2 (speaker): 86, 40000000 (default): 71
Devices: speaker
- STREAM_SYSTEM:
Muted: false
Min: 0
Max: 7
Current: 40000000 (default): 3
Devices: speaker
- STREAM_RING:
Muted: false
Min: 0
Max: 7
Current: 40000000 (default): 3
Devices: speaker
- STREAM_MUSIC:(Music流的音量信息,包括最大/最小音量/当前音量值信息,各种设备Music流的音量值信息,其它流的音量值信息类似)
Muted: false
Min: 0
Max: 100
Current: 2 (speaker): 86, 4 (headset): 10, 8 (headphone): 10, 4000000 (usb_headset): 25, 40000000 (default): 71
Devices: speaker
- STREAM_ALARM:
Muted: false
Min: 1
Max: 7
Current: 40000000 (default): 3
Devices: speaker
- STREAM_NOTIFICATION:
Muted: false
Min: 0
Max: 7
Current: 40000000 (default): 3
Devices: speaker
- STREAM_BLUETOOTH_SCO:
Muted: false
Min: 0
Max: 100
Current: 2 (speaker): 13, 40000000 (default): 71
Devices: speaker
- STREAM_SYSTEM_ENFORCED:
Muted: false
Min: 0
Max: 7
Current: 40000000 (default): 3
Devices: speaker
- STREAM_DTMF:
Muted: false
Min: 0
Max: 15
Current: 2 (speaker): 13, 4 (headset): 11, 8 (headphone): 11, 4000000 (usb_headset): 11, 40000000 (default): 11
Devices: speaker
- STREAM_TTS:
Muted: false
Min: 0
Max: 15
Current: 2 (speaker): 13, 4 (headset): 2, 8 (headphone): 2, 4000000 (usb_headset): 4, 40000000 (default): 11
Devices: speaker
- STREAM_ACCESSIBILITY:
Muted: false
Min: 0
Max: 100
Current: 2 (speaker): 86, 4 (headset): 2, 8 (headphone): 2, 4000000 (usb_headset): 4, 40000000 (default): 11
Devices: speaker
- mute affected streams = 0x2f
Ringer mode:
- mode (internal) = NORMAL
- mode (external) = NORMAL
- ringer mode affected streams = 0xa6 (STREAM_SYSTEM,STREAM_RING,STREAM_NOTIFICATION,STREAM_SYSTEM_ENFORCED)
- ringer mode muted streams = 0x0
- delegate = ZenModeHelper
Audio routes:
mMainType=0x0
mBluetoothName=null
Other state:
mVolumeController=VolumeController(android.os.BinderProxy@4b00f85,mVisible=false)
mSafeMediaVolumeState=SAFE_MEDIA_VOLUME_ACTIVE
mSafeMediaVolumeIndex=100
mSafeUsbMediaVolumeIndex=250
mSafeUsbMediaVolumeDbfs=-37.0
sIndependentA11yVolume=false
mPendingVolumeCommand=null
mMusicActiveMs=0
mMcc=0
mCameraSoundForced=false
mHasVibrator=false
mVolumePolicy=VolumePolicy[volumeDownToEnterSilent=false,volumeUpToExitSilent=false,doNotDisturbWhenSilent=false,vibrateToSilentDebounce=400]
mAvrcpAbsVolSupported=false
Audio policies:
Audio event log: dynamic policy events (logged when command received by AudioService)
PlaybackActivityMonitor dump time: 10:17:16 AM
playback listeners:
(S)com.android.server.audio.PlaybackActivityMonitor$PlayMonitorClient@98f51da
players:
ID:15 -- type:android.media.SoundPool -- u/pid:1000/3826 -- state:idle -- attr:AudioAttributes: usage=USAGE_VOICE_COMMUNICATION content=CONTENT_TYPE_MOVIE flags=0x0 tags= bundle=null
ID:23 -- type:android.media.SoundPool -- u/pid:1000/3826 -- state:idle -- attr:AudioAttributes: usage=USAGE_VOICE_COMMUNICATION content=CONTENT_TYPE_SPEECH flags=0x0 tags= bundle=null
ID:31 -- type:android.media.SoundPool -- u/pid:1000/3826 -- state:idle -- attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
ID:39 -- type:android.media.SoundPool -- u/pid:10012/4074 -- state:idle -- attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
ID:63 -- type:OpenSL ES AudioPlayer (Buffer Queue) -- u/pid:10018/32500 -- state:started -- attr:AudioAttributes: usage=USAGE_MEDIA content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
ducked players piids:
muted player piids:
banned uids:
Audio event log: playback activity as reported through PlayerBase
11-25 08:00:20:771 new player piid:15 uid/pid:1000/3826 type:android.media.SoundPool attr:AudioAttributes: usage=USAGE_VOICE_COMMUNICATION content=CONTENT_TYPE_MOVIE flags=0x0 tags= bundle=null
11-25 08:00:20:772 new player piid:23 uid/pid:1000/3826 type:android.media.SoundPool attr:AudioAttributes: usage=USAGE_VOICE_COMMUNICATION content=CONTENT_TYPE_SPEECH flags=0x0 tags= bundle=null
05-06 17:25:25:917 new player piid:31 uid/pid:1000/3826 type:android.media.SoundPool attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
05-06 17:25:26:365 new player piid:39 uid/pid:10012/4074 type:android.media.SoundPool attr:AudioAttributes: usage=USAGE_ASSISTANCE_SONIFICATION content=CONTENT_TYPE_SONIFICATION flags=0x0 tags= bundle=null
05-07 09:30:39:611 new player piid:47 uid/pid:10032/5569 type:unknown attr:AudioAttributes: usage=USAGE_MEDIA content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
05-07 09:30:39:810 player piid:47 state:started
05-07 09:30:40:053 player piid:47 state:stopped
05-07 09:30:40:053 releasing player piid:47
05-07 10:16:33:927 new player piid:55 uid/pid:10018/32500 type:OpenSL ES AudioPlayer (Buffer Queue) attr:AudioAttributes: usage=USAGE_MEDIA content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
05-07 10:16:33:930 player piid:55 state:started
05-07 10:16:35:059 player piid:55 state:stopped
05-07 10:16:35:153 player piid:55 state:started
05-07 10:16:46:842 player piid:55 state:stopped
05-07 10:16:51:882 releasing player piid:55
05-07 10:17:04:336 new player piid:63 uid/pid:10018/32500 type:OpenSL ES AudioPlayer (Buffer Queue) attr:AudioAttributes: usage=USAGE_MEDIA content=CONTENT_TYPE_UNKNOWN flags=0x0 tags= bundle=null
05-07 10:17:04:338 player piid:63 state:started
05-07 10:17:05:226 player piid:63 state:stopped
05-07 10:17:05:314 player piid:63 state:started
RecordActivityMonitor dump time: 10:17:16 AM
Audio event log: recording activity as reported through AudioSystem.AudioRecordingCallback
Event logs:
Audio event log: phone state (logged after successfull call to AudioSystem.setPhoneState(int))
05-07 09:30:39:618 setMode(MODE_IN_COMMUNICATION) from package=us.zoom.zoompresence pid=5569 selected mode=MODE_IN_COMMUNICATION by pid=5569
Audio event log: wired device connection (logged before onSetWiredDeviceConnectionState() is executed)(有线设备的插拔记录,下面是插/拔USB有线耳机后的操作记录)
05-06 17:25:26:333 setWiredDeviceConnectionState( type:80001000 state:DEVICE_STATE_AVAILABLE addr:card=1;device=0; name:USB-Audio - DTEN Android Mic 27) from UsbAlsaDevice
05-06 17:25:31:626 setWiredDeviceConnectionState( type:400 state:DEVICE_STATE_AVAILABLE addr: name:) from com.droidlogic
05-07 10:39:20:905 setWiredDeviceConnectionState( type:4000000 state:DEVICE_STATE_AVAILABLE addr:card=2;device=0; name:USB-Audio - USB Audio) from UsbAlsaDevice
05-07 10:39:21:539 setWiredDeviceConnectionState( type:82000000 state:DEVICE_STATE_AVAILABLE addr:card=2;device=0; name:USB-Audio - USB Audio) from UsbAlsaDevice
05-07 10:39:58:802 setWiredDeviceConnectionState( type:4000000 state:DEVICE_STATE_UNAVAILABLE addr:card=2;device=0; name:USB-Audio - USB Audio) from UsbAlsaDevice
05-07 10:39:58:832 setWiredDeviceConnectionState( type:82000000 state:DEVICE_STATE_UNAVAILABLE addr:card=2;device=0; name:USB-Audio - USB Audio) from UsbAlsaDevice
05-07 10:39:58:861 setWiredDeviceConnectionState( type:80001000 state:DEVICE_STATE_AVAILABLE addr:card=1;device=0; name:USB-Audio - DTEN Android Mic 27) from UsbAlsaDevice
Audio event log: force use (logged before setForceUse() is executed)
11-25 08:00:20:720 setForceUse(FOR_SYSTEM, FORCE_NONE) due to AudioService ctor
11-25 08:00:20:721 setForceUse(FOR_DOCK, FORCE_ANALOG_DOCK) due to readDockAudioSettings
11-25 08:00:20:723 setForceUse(FOR_ENCODED_SURROUND, FORCE_NONE) due to readPersistedSettings
11-25 08:00:20:736 setForceUse(FOR_VIBRATE_RINGING, FORCE_NONE) due to muteRingerModeStreams() from u/pid:1000/3826
05-06 17:25:26:332 setForceUse(FOR_COMMUNICATION, FORCE_NONE) due to resetBluetoothSco
05-06 17:25:26:333 setForceUse(FOR_RECORD, FORCE_NONE) due to resetBluetoothSco
05-06 17:25:26:333 setForceUse(FOR_VIBRATE_RINGING, FORCE_NONE) due to muteRingerModeStreams() from u/pid:1000/3826
05-06 17:25:31:613 setForceUse(FOR_DOCK, FORCE_ANALOG_DOCK) due to readDockAudioSettings
05-06 17:25:31:613 setForceUse(FOR_ENCODED_SURROUND, FORCE_NONE) due to readPersistedSettings
05-06 17:25:31:613 setForceUse(FOR_VIBRATE_RINGING, FORCE_NONE) due to muteRingerModeStreams() from u/pid:1000/3826
05-06 17:25:31:627 setForceUse(FOR_DOCK, FORCE_ANALOG_DOCK) due to readDockAudioSettings
05-06 17:25:31:627 setForceUse(FOR_COMMUNICATION, FORCE_NONE) due to resetBluetoothSco
05-06 17:25:31:628 setForceUse(FOR_RECORD, FORCE_NONE) due to resetBluetoothSco
05-06 17:25:31:628 setForceUse(FOR_VIBRATE_RINGING, FORCE_NONE) due to muteRingerModeStreams() from u/pid:1000/3826
05-06 17:25:31:628 setForceUse(FOR_DOCK, FORCE_ANALOG_DOCK) due to readDockAudioSettings
05-06 17:25:31:628 setForceUse(FOR_ENCODED_SURROUND, FORCE_NONE) due to SettingsObserver
05-07 09:30:39:621 setForceUse(FOR_VIBRATE_RINGING, FORCE_NONE) due to muteRingerModeStreams() from u/pid:10032/5569
05-07 09:30:39:622 setForceUse(FOR_COMMUNICATION, FORCE_SPEAKER) due to setSpeakerphoneOn(true) from u/pid:10032/5569
Audio event log: volume changes (logged when command received by AudioService)
05-06 17:25:26:307 setStreamVolume(stream:STREAM_MUSIC index:87 flags:0x4) from android
05-06 17:25:26:313 setStreamVolume(stream:STREAM_VOICE_CALL index:87 flags:0x4) from android
05-06 17:25:26:314 setStreamVolume(stream:STREAM_BLUETOOTH_SCO index:13 flags:0x4) from android
05-07 09:30:40:108 setStreamVolume(stream:STREAM_VOICE_CALL index:86 flags:0x0) from us.zoom.zoompresence
05-07 09:30:40:112 setStreamVolume(stream:STREAM_MUSIC index:86 flags:0x0) from us.zoom.zoompresence
05-07 09:30:40:213 setStreamVolume(stream:STREAM_BLUETOOTH_SCO index:13 flags:0x4) from android
dten_s27:/ #
============================================================
msm8953_64:/ $ dumpsys media.audio_flinger
Library audio_pre_processing
Noise Suppression / Qualcomm Fluence
UUID: 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
TYPE: 58b4b260-8e06-11e0-aa8e-0002a5d5c51b
apiVersion: 00020000
flags: 00000203
Acoustic Echo Canceler / Qualcomm Fluence
UUID: 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
TYPE: 7b491460-8d4d-11e0-bd61-0002a5d5c51b
apiVersion: 00020000
flags: 00000203
Library offload_bundle
(no effects)
Library proxy
Visualizer / The Android Open Source Project
UUID: 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c
TYPE: e46b26a0-dddd-11db-8afd-0002a5d5c51b
apiVersion: 00020000
flags: 00400008
Qualcomm Technologies Insert Preset Reverb / Qualcomm Technologies, Inc.
UUID: f3e178d2-ebcb-408e-8357-0002a5d5c51b
TYPE: 47382d60-ddd8-11db-bf3a-0002a5d5c51b
apiVersion: 00020000
flags: 00400088
Qualcomm Technologies Auxiliary Preset Reverb / Qualcomm Technologies, Inc.
UUID: 1b78f587-6d1c-422e-8b84-0002a5d5c51b
TYPE: 47382d60-ddd8-11db-bf3a-0002a5d5c51b
apiVersion: 00020000
flags: 00400001
Qualcomm Technologies Insert Environmental Reverb / Qualcomm Technologies, Inc.
UUID: b707403a-a1c1-4291-9573-0002a5d5c51b
TYPE: c2e5d5f0-94bd-4763-9cac-4e234d06839e
apiVersion: 00020000
flags: 00400088
Qualcomm Technologies Auxiliary Environmental Reverb / Qualcomm Technologies, Inc.
UUID: 48404ac9-d202-4ccc-bf84-0002a5d5c51b
TYPE: c2e5d5f0-94bd-4763-9cac-4e234d06839e
apiVersion: 00020000
flags: 00400001
Equalizer / NXP Software Ltd.
UUID: c8e70ecd-48ca-456e-8a4f-0002a5d5c51b
TYPE: 0bed4300-ddd6-11db-8f34-0002a5d5c51b
apiVersion: 00020000
flags: 00400048
Qualcomm Technologies Virtualizer / Qualcomm Technologies, Inc.
UUID: d3467faa-acc7-4d34-acaf-0002a5d5c51b
TYPE: 37cc2c00-dddd-11db-8577-0002a5d5c51b
apiVersion: 00020000
flags: 00400290
Qualcomm Technologies Bass Boost / Qualcomm Technologies, Inc.
UUID: 14804144-a5ee-4d24-aa88-0002a5d5c51b
TYPE: 0634f220-ddd4-11db-a0fc-0002a5d5c51b
apiVersion: 00020000
flags: 00400290
Library loudness_enhancer
Loudness Enhancer / The Android Open Source Project
UUID: fa415329-2034-4bea-b5dc-5b381c8d1e2c
TYPE: fe3199be-aed0-413f-87bb-11260eb63cf1
apiVersion: 00020000
flags: 00000008
Library downmix
Multichannel Downmix To Stereo / The Android Open Source Project
UUID: 93f04452-e4fe-41cc-91f9-e475b6d1d69f
TYPE: 381e49cc-a858-4aa2-87f6-e8388e7601b2
apiVersion: 00020000
flags: 00000008
Library visualizer_hw
(no effects)
Library visualizer_sw
(no effects)
Library qcreverb
(no effects)
Library qcvirt
(no effects)
Library qcbassboost
(no effects)
Library reverb
(no effects)
Library bundle
Volume / NXP Software Ltd.
UUID: 119341a0-8469-11df-81f9-0002a5d5c51b
TYPE: 09e8ede0-ddde-11db-b4f6-0002a5d5c51b
apiVersion: 00020000
flags: 00000050
Clients:(播放过音频流的应用程序列表,通过pid去查找包名即可知道应用名称)
pid: 1912
pid: 2751
pid: 3190
Notification Clients:
pid: 609
pid: 623
pid: 1151
pid: 1698
pid: 1912
pid: 2374
pid: 2751
pid: 2831
pid: 3190
pid: 3651
Global session refs:
session pid count(通过AudioTrack对象播放音频流时向AudioFlinger申请的AudioSessionID,以及应用程序和他们的对应关系)
9 1912 1
17 2751 1
65 3190 1
89 3190 1
97 3190 1
113 2751 1
Hardware status: 0
Standby Time mSec: 3000
Output thread 0xe7383680 type 0 (MIXER):(四种回放线程中的一种MixThread,该线程中的音频流都会进行混音操作)
Thread name: AudioOut_D
I/O handle: 13(Audio输出流通道在系统中的句柄,系统加载硬件模块的时候会给所有的输出流通道分配一个固定唯一的句柄,后续系统通过这个句柄去访问该音频流通道,后续打印出来的audio_policy中的输出流通道的句柄是对应的)
TID: 929
Standby: yes
Sample rate: 48000 Hz(音频数据的采样率)
HAL frame count: 192(HAL层支持的最小音频帧数)
HAL format: 0x1 (pcm16)(HAL层支持的音频采用位数,还有32位)
HAL buffer size: 768 bytes(HAL层支持的一次性处理的音频数据量)
Channel count: 2(音轨数量,这里是双声道,还可能是单声道)
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x5 (pcmfloat)
Processing frame size: 8 bytes
Pending config events: none
Output device: 0x20000 (LINE)(Audio硬件模块的名称)
Input device: 0 (NONE)
Audio source: 0 (default)
Normal frame count: 960
Last write occurred (msecs): 2178799
Total writes: 369
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xe73d4000
Mixer buffer: 0xe79fd000
Effect buffer: 0xe79ff000
Fast track availMask=0xfc
Standby delay ns=3000000000
AudioStreamOut: 0xe83c8150 flags 0x6 (PRIMARY|FAST)(车载设备上通常该线程处理的是导航语音播到类的音频流)
Frames written: 354240
Suspended frames: 0
PipeSink frames written: 354240
Hal stream dump:
Thread throttle time (msecs): 0
AudioMixer tracks: 0x00000001
Master mono: off
FastMixer command=COLD_IDLE writeSequence=3694 framesWritten=354624
numTracks=1 writeErrors=0 underruns=0 overruns=1
sampleRate=48000 frameCount=192 measuredWarmup=18.5 ms, warmupCycles=5
mixPeriod=4.00 ms
Simple moving statistics over last 7.4 seconds:
wall clock time in ms per mix cycle:
mean=4.00 min=1.64 max=6.52 stddev=0.19
raw CPU load in us per mix cycle:
mean=104 min=0 max=338 stddev=44
Distribution of mix cycle times in ms for the tails (> ~3 stddev outliers):
left tail: mean=1.64 min=1.64 max=1.64 stddev=nan
right tail: mean=6.52 min=6.52 max=6.52 stddev=nan
Fast tracks: sMaxFastTracks=8 activeMask=0x1
Index Active Full Partial Empty Recent Ready Written
0 yes 818 0 0 full 768 353472
1 no 0 0 0 full 0 0
2 no 0 0 0 full 0 0
3 no 0 0 0 full 0 0
4 no 0 0 0 full 0 0
5 no 0 0 0 full 0 0
6 no 0 0 0 full 0 0
7 no 0 0 0 full 0 0
Stream volumes in dB: 0:-11, 1:-10, 2:-10, 3:0, 4:-10, 5:-10, 6:0, 7:-10, 8:-10, 9:-96, 10:0, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
1 Tracks of which 0 are active(该线程中处理的音频流列表,各个音频流的详细信息,如果当前线程中有活跃的音频流那么会有一行 其active列的值为 yes)
Name Active Client Type Fmt Chn mask Session fCount S F SRate L dB R dB Server Main buf Aux Buf Flags UndFrmCnt
F 1 no 1912 0 00000001 00000001 9 960 I 0 48000 -10 -10 00000000 0xe73d4000 0x0 0x000 0
0 Effect Chains
Output thread 0xe6f83ec0 type 0 (MIXER):
Thread name: AudioOut_15
I/O handle: 21
TID: 933
Standby: yes
Sample rate: 48000 Hz
HAL frame count: 192
HAL format: 0x1 (pcm16)
HAL buffer size: 768 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x5 (pcmfloat)
Processing frame size: 8 bytes
Pending config events: none
Output device: 0 (NONE)
Input device: 0 (NONE)
Audio source: 0 (default)
Normal frame count: 960
Last write occurred (msecs): 2492096
Total writes: 0
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xe73d8000
Mixer buffer: 0xe73d6000
Effect buffer: 0xe73e6000
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xe83c8268 flags 0x104 (FAST|RAW)
Frames written: 0
Suspended frames: 0
PipeSink frames written: 0
Hal stream dump:
Thread throttle time (msecs): 0
AudioMixer tracks: 0x00000000
Master mono: off
FastMixer command=COLD_IDLE writeSequence=0 framesWritten=0
numTracks=0 writeErrors=0 underruns=0 overruns=0
sampleRate=0 frameCount=0 measuredWarmup=0 ms, warmupCycles=0
mixPeriod=nan ms
No FastMixer statistics available currently
Fast tracks: sMaxFastTracks=8 activeMask=0
Index Active Full Partial Empty Recent Ready Written
0 no 0 0 0 full 0 0
1 no 0 0 0 full 0 0
2 no 0 0 0 full 0 0
3 no 0 0 0 full 0 0
4 no 0 0 0 full 0 0
5 no 0 0 0 full 0 0
6 no 0 0 0 full 0 0
7 no 0 0 0 full 0 0
Stream volumes in dB: 0:-5.9, 1:-6, 2:0, 3:0, 4:0, 5:0, 6:0, 7:-6, 8:-6, 9:0, 10:0, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
0 Tracks
0 Effect Chains
Output thread 0xe6c833c0 type 0 (MIXER):
Thread name: AudioOut_1D
I/O handle: 29
TID: 935
Standby: yes
Sample rate: 48000 Hz
HAL frame count: 1920
HAL format: 0x1 (pcm16)
HAL buffer size: 7680 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x1 (pcm16)
Processing frame size: 4 bytes
Pending config events: none
Output device: 0x20000 (LINE)
Input device: 0 (NONE)
Audio source: 0 (default)
Normal frame count: 1920
Last write occurred (msecs): 1087537
Total writes: 4905
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xe73da000
Mixer buffer: 0xe83d8000
Effect buffer: 0xe73dc000
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xe83c82a0 flags 0x8 (DEEP_BUFFER)(通常处理的是音乐类型的音频流,音乐软件播放的音频流通常是在该线程中处理)
Frames written: 9417600
Suspended frames: 0
Hal stream dump:
Thread throttle time (msecs): 106
AudioMixer tracks: 0x00000003
Master mono: off
FastMixer not initialized
Stream volumes in dB: 0:-11, 1:-10, 2:-10, 3:0, 4:-10, 5:-10, 6:0, 7:-10, 8:-10, 9:-96, 10:0, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
2 Tracks of which 0 are active
Name Active Client Type Fmt Chn mask Session fCount S F SRate L dB R dB Server Main buf Aux Buf Flags UndFrmCnt
1 no 3190 3 00000001 00000003 97 7088 I 0 22050 0 0 00000000 0xe73da000 0x0 0x000 0
0 no 3190 3 00000001 00000003 89 7072 P 3 44100 0 0 004FF80C 0xe73da000 0x0 0x600 1768
0 Effect Chains
Output thread 0xe6b03140 type 0 (MIXER):
Thread name: AudioOut_25
I/O handle: 37
TID: 938
Standby: yes
Sample rate: 48000 Hz
HAL frame count: 768
HAL format: 0x1 (pcm16)
HAL buffer size: 3072 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x5 (pcmfloat)
Processing frame size: 8 bytes
Pending config events: none
Output device: 0 (NONE)
Input device: 0 (NONE)
Audio source: 0 (default)
Normal frame count: 1152
Last write occurred (msecs): 2492100
Total writes: 0
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xe6b56800
Mixer buffer: 0xe6b54000
Effect buffer: 0xe7afb400
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xe83c8460 flags 0 (NONE)
Frames written: 0
Suspended frames: 0
PipeSink frames written: 0
Hal stream dump:
Thread throttle time (msecs): 0
AudioMixer tracks: 0x00000000
Master mono: off
FastMixer command=COLD_IDLE writeSequence=0 framesWritten=0
numTracks=0 writeErrors=0 underruns=0 overruns=0
sampleRate=0 frameCount=0 measuredWarmup=0 ms, warmupCycles=0
mixPeriod=nan ms
No FastMixer statistics available currently
Fast tracks: sMaxFastTracks=8 activeMask=0
Index Active Full Partial Empty Recent Ready Written
0 no 0 0 0 full 0 0
1 no 0 0 0 full 0 0
2 no 0 0 0 full 0 0
3 no 0 0 0 full 0 0
4 no 0 0 0 full 0 0
5 no 0 0 0 full 0 0
6 no 0 0 0 full 0 0
7 no 0 0 0 full 0 0
Stream volumes in dB: 0:-5.9, 1:-6, 2:0, 3:0, 4:0, 5:0, 6:0, 7:-6, 8:-6, 9:0, 10:0, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
0 Tracks
0 Effect Chains
Output thread 0xe73de000 type 1 (DIRECT):(四种回放线程中的一种,DirectOutputThread直接输出线程,该线程专门处理不需要解码的音频流,直接向Audio硬件输出音频数据即可)
Thread name: AudioOut_5D
I/O handle: 93
TID: 6270
Standby: yes
Sample rate: 16000 Hz
HAL frame count: 640
HAL format: 0x1 (pcm16)
HAL buffer size: 1280 bytes
Channel count: 1
Channel mask: 0x00000001 (front-left)
Processing format: 0x1 (pcm16)
Processing frame size: 2 bytes
Pending config events: none
Output device: 0x20000 (LINE)
Input device: 0 (NONE)
Audio source: 0 (default)
Normal frame count: 640
Last write occurred (msecs): 1099483
Total writes: 43
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xe8387200
Mixer buffer: 0xe83e7a00
Effect buffer: 0xe8387700
Fast track availMask=0xfe
Standby delay ns=1000000000
AudioStreamOut: 0xe83c8620 flags 0x2001 (DIRECT|0x2000)
Frames written: 27197
Suspended frames: 0
Hal stream dump:
Stream volumes in dB: 0:-11, 1:-10, 2:-10, 3:0, 4:-10, 5:-10, 6:0, 7:-10, 8:-10, 9:-96, 10:0, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
1 Tracks of which 0 are active
Name Active Client Type Fmt Chn mask Session fCount S F SRate L dB R dB Server Main buf Aux Buf Flags UndFrmCnt
none no 2751 3 00000001 00000001 113 1288 S 1 16000 0 0 00002E3D 0xe8387200 0x0 0x601 323
0 Effect Chains
Input thread 0xe6783b00:
Thread name: AudioIn_36
I/O handle: 54
TID: 3298
Standby: no
Sample rate: 16000 Hz
HAL frame count: 320
HAL format: 0x1 (pcm16)
HAL buffer size: 2560 bytes
Channel count: 4
Channel mask: 0x8000000f (index mask, bits:0xf)
Processing format: 0x1 (pcm16)
Processing frame size: 8 bytes
Pending config events: none
Output device: 0x20000 (LINE)
Input device: 0x80000004 (BUILTIN_MIC)
Audio source: 1 (mic)
Fast capture thread: no
Fast track available: no
FastCapture not initialized
1 Tracks of which 1 are active(由于我司的小智语音助手开着因此Mic始终是开着的,等待着音频的输入)
Active Client Fmt Chn mask Session S Server fCount SRate
yes 2751 1 8000000F 17 6 0255C600 960 16000
0 Effect Chains
USB audio module:
No output streams.
No input streams.
Reroute submix audio module:
route[0] rate in=0 out=0, addr=[]
route[1] rate in=0 out=0, addr=[]
route[2] rate in=0 out=0, addr=[]
route[3] rate in=0 out=0, addr=[]
route[4] rate in=0 out=0, addr=[]
route[5] rate in=0 out=0, addr=[]
route[6] rate in=0 out=0, addr=[]
route[7] rate in=0 out=0, addr=[]
route[8] rate in=0 out=0, addr=[]
route[9] rate in=48000 out=48000, addr=[]
============================================================
msm8953_64:/ $ dumpsys media.audio_policy
AudioPolicyManager: 0xe83be200
Command Thread: 0xe83aaba0
Tones Thread: 0xe83aab40
AudioCommandThread 0xe83aaba0 Dump
- Commands:
Command Time Wait pParam
Last Command
02 001390.879 0 0xe702c198
AudioCommandThread 0xe83aab40 Dump
- Commands:
Command Time Wait pParam
Last Command
none
AudioPolicyManager Dump: 0xe83be200
Primary Output: 13
Phone state: 0
Force use for communications 0
Force use for media 10
Force use for record 0
Force use for dock 8
Force use for system 0
Force use for hdmi system audio 0
Force use for encoded surround output 0
TTS output not available
Master mono: off
- Available output devices:(可用的输出设备列表)
Device 1:
- id: 1
- tag name: Earpiece(听筒,下面是它支持的音频流的详细参数,有采样格式,采样率,声道数等)
- type: AUDIO_DEVICE_OUT_EARPIECE
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0010
Device 2:
- id: 2
- tag name: Speaker(扩音器,下面是它支持的音频流的详细参数,有采样格式,采样率,声道数等)
- type: AUDIO_DEVICE_OUT_SPEAKER
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0003
Device 3:
- id: 13
- tag name: Line(外放耳机,我们车载系统选择它作为主要的输出通道,下面是它支持的音频流的详细参数,有采样格式,采样率,声道数等)
- type: AUDIO_DEVICE_OUT_LINE
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0003
Device 4:
- id: 6
- tag name: Telephony Tx(通话设备,下面是它支持的音频流的详细参数,有采样格式,采样率,声道数等)
- type: AUDIO_DEVICE_OUT_TELEPHONY_TX
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000
- channel masks:0x0001, 0x0003
- Available input devices:(可用的输入设备列表)
Device 1:
- id: 10
- tag name: Built-In Mic(前置Mic,下面是它支持的输入的音频流的详细参数,有采样格式,采样率,声道数等)
- type: AUDIO_DEVICE_IN_BUILTIN_MIC
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030
Profile 1:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030, 0x00fc, 0x80000007, 0x8000000f
Device 2:
- id: 11
- tag name: Built-In Back Mic(后置Mic,下面是它支持的输入的音频流的详细参数,有采样格式,采样率,声道数等)
- type: AUDIO_DEVICE_IN_BACK_MIC
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030
Profile 1:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030, 0x00fc, 0x80000007, 0x8000000f
Device 3:
- id: 8
- tag name: FM Tuner(FM设备,下面是它支持的输入的音频流的详细参数,有采样格式,采样率,声道数等)
- type: AUDIO_DEVICE_IN_FM_TUNER
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x000c, 0x0010
Profile 1:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030
Device 4:
- id: 9
- tag name: Telephony Rx(通话输入设备,下面是它支持的输入的音频流的详细参数,有采样格式,采样率,声道数等)
- type: AUDIO_DEVICE_IN_TELEPHONY_RX
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000, 48000
- channel masks:0x0010
Profile 1:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030
Device 5:
- id: 12
- tag name: Remote Submix In(远程输入设备,下面是它支持的输入的音频流的详细参数,有采样格式,采样率,声道数等)
- type: AUDIO_DEVICE_IN_REMOTE_SUBMIX
- address: 0
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x000c
HW Modules dump:
- HW Module 1:
- name: primary(Audio主要的输入/输出硬件模块)
- handle: 10
- version: 2.0
- outputs:
output 0:
- name: primary output
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0003
- flags: 0x0006
- Supported devices:
Device 1:
- id: 1
- tag name: Earpiece
- type: AUDIO_DEVICE_OUT_EARPIECE
Device 2:
- id: 2
- tag name: Speaker
- type: AUDIO_DEVICE_OUT_SPEAKER
Device 3:
- tag name: Wired Headset
- type: AUDIO_DEVICE_OUT_WIRED_HEADSET
Device 4:
- tag name: Wired Headphones
- type: AUDIO_DEVICE_OUT_WIRED_HEADPHONE
Device 5:
- id: 13
- tag name: Line
- type: AUDIO_DEVICE_OUT_LINE
Device 6:
- tag name: BT SCO All
- type: AUDIO_DEVICE_OUT_ALL_SCO
Device 7:
- tag name: HDMI
- type: AUDIO_DEVICE_OUT_AUX_DIGITAL
Device 8:
- tag name: Proxy
- type: AUDIO_DEVICE_OUT_PROXY
Device 9:
- tag name: FM
- type: AUDIO_DEVICE_OUT_FM
output 1:
- name: raw
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0003
- flags: 0x0104
- Supported devices:
Device 1:
- id: 1
- tag name: Earpiece
- type: AUDIO_DEVICE_OUT_EARPIECE
Device 2:
- id: 2
- tag name: Speaker
- type: AUDIO_DEVICE_OUT_SPEAKER
Device 3:
- tag name: Wired Headset
- type: AUDIO_DEVICE_OUT_WIRED_HEADSET
Device 4:
- tag name: Wired Headphones
- type: AUDIO_DEVICE_OUT_WIRED_HEADPHONE
Device 5:
- id: 13
- tag name: Line
- type: AUDIO_DEVICE_OUT_LINE
Device 6:
- tag name: BT SCO All
- type: AUDIO_DEVICE_OUT_ALL_SCO
Device 7:
- tag name: HDMI
- type: AUDIO_DEVICE_OUT_AUX_DIGITAL
Device 8:
- tag name: Proxy
- type: AUDIO_DEVICE_OUT_PROXY
output 2:
- name: deep_buffer
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0003
- flags: 0x0008
- Supported devices:
Device 1:
- id: 1
- tag name: Earpiece
- type: AUDIO_DEVICE_OUT_EARPIECE
Device 2:
- id: 2
- tag name: Speaker
- type: AUDIO_DEVICE_OUT_SPEAKER
Device 3:
- tag name: Wired Headset
- type: AUDIO_DEVICE_OUT_WIRED_HEADSET
Device 4:
- tag name: Wired Headphones
- type: AUDIO_DEVICE_OUT_WIRED_HEADPHONE
Device 5:
- id: 13
- tag name: Line
- type: AUDIO_DEVICE_OUT_LINE
Device 6:
- tag name: BT SCO All
- type: AUDIO_DEVICE_OUT_ALL_SCO
Device 7:
- tag name: HDMI
- type: AUDIO_DEVICE_OUT_AUX_DIGITAL
Device 8:
- tag name: Proxy
- type: AUDIO_DEVICE_OUT_PROXY
output 3:
- name: multichannel
- Profiles:
Profile 0:[dynamic channels]
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000
- flags: 0x0001
- Supported devices:
Device 1:
- tag name: HDMI
- type: AUDIO_DEVICE_OUT_AUX_DIGITAL
Device 2:
- tag name: Proxy
- type: AUDIO_DEVICE_OUT_PROXY
output 4:
- name: direct_pcm
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000
- channel masks:0x0001, 0x0003, 0x0007, 0x0033, 0x0037, 0x003f, 0x013f, 0x063f
Profile 1:
- format: AUDIO_FORMAT_PCM_8_24_BIT
- sampling rates:8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000
- channel masks:0x0001, 0x0003, 0x0007, 0x0033, 0x0037, 0x003f, 0x013f, 0x063f
Profile 2:
- format: AUDIO_FORMAT_PCM_24_BIT_PACKED
- sampling rates:8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000
- channel masks:0x0001, 0x0003, 0x0007, 0x0033, 0x0037, 0x003f, 0x013f, 0x063f
- flags: 0x2001
- Supported devices:
Device 1:
- id: 1
- tag name: Earpiece
- type: AUDIO_DEVICE_OUT_EARPIECE
Device 2:
- id: 2
- tag name: Speaker
- type: AUDIO_DEVICE_OUT_SPEAKER
Device 3:
- tag name: Wired Headset
- type: AUDIO_DEVICE_OUT_WIRED_HEADSET
Device 4:
- tag name: Wired Headphones
- type: AUDIO_DEVICE_OUT_WIRED_HEADPHONE
Device 5:
- id: 13
- tag name: Line
- type: AUDIO_DEVICE_OUT_LINE
Device 6:
- tag name: BT SCO All
- type: AUDIO_DEVICE_OUT_ALL_SCO
Device 7:
- tag name: HDMI
- type: AUDIO_DEVICE_OUT_AUX_DIGITAL
Device 8:
- tag name: Proxy
- type: AUDIO_DEVICE_OUT_PROXY
output 5:
- name: compressed_offload
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_MP3
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x0001, 0x0003
Profile 1:
- format: AUDIO_FORMAT_FLAC
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000
- channel masks:0x0001, 0x0003
Profile 2:
- format: AUDIO_FORMAT_ALAC
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000
- channel masks:0x0001, 0x0003, 0x0007, 0x0033, 0x0037, 0x003f, 0x013f, 0x063f
Profile 3:
- format: AUDIO_FORMAT_APE
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000
- channel masks:0x0001, 0x0003
Profile 4:
- format: AUDIO_FORMAT_AAC_LC
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000
- channel masks:0x0001, 0x0003
Profile 5:
- format: AUDIO_FORMAT_AAC_HE_V1
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000
- channel masks:0x0001, 0x0003
Profile 6:
- format: AUDIO_FORMAT_AAC_HE_V2
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000
- channel masks:0x0001, 0x0003
Profile 7:
- format: AUDIO_FORMAT_WMA
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x0001, 0x0003, 0x0007, 0x0033, 0x0037, 0x003f, 0x013f, 0x063f
Profile 8:
- format: AUDIO_FORMAT_WMA_PRO
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000
- channel masks:0x0001, 0x0003, 0x0007, 0x0033, 0x0037, 0x003f, 0x013f, 0x063f
Profile 9:
- format: AUDIO_FORMAT_VORBIS
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000
- channel masks:0x0001, 0x0003
Profile 10:
- format: AUDIO_FORMAT_AAC_ADTS_LC
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000
- channel masks:0x0001, 0x0003
Profile 11:
- format: AUDIO_FORMAT_AAC_ADTS_HE_V1
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000
- channel masks:0x0001, 0x0003
Profile 12:
- format: AUDIO_FORMAT_AAC_ADTS_HE_V2
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000
- channel masks:0x0001, 0x0003
- flags: 0x0031
- Supported devices:
Device 1:
- id: 1
- tag name: Earpiece
- type: AUDIO_DEVICE_OUT_EARPIECE
Device 2:
- id: 2
- tag name: Speaker
- type: AUDIO_DEVICE_OUT_SPEAKER
Device 3:
- tag name: Wired Headset
- type: AUDIO_DEVICE_OUT_WIRED_HEADSET
Device 4:
- tag name: Wired Headphones
- type: AUDIO_DEVICE_OUT_WIRED_HEADPHONE
Device 5:
- id: 13
- tag name: Line
- type: AUDIO_DEVICE_OUT_LINE
Device 6:
- tag name: BT SCO All
- type: AUDIO_DEVICE_OUT_ALL_SCO
Device 7:
- tag name: HDMI
- type: AUDIO_DEVICE_OUT_AUX_DIGITAL
Device 8:
- tag name: Proxy
- type: AUDIO_DEVICE_OUT_PROXY
output 6:
- name: voice_tx
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000, 48000
- channel masks:0x0001, 0x0003
- flags: 0x0000
- Supported devices:
Device 1:
- id: 6
- tag name: Telephony Tx
- type: AUDIO_DEVICE_OUT_TELEPHONY_TX
output 7:
- name: voip_rx
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000
- channel masks:0x0001
- flags: 0x0801
- Supported devices:
Device 1:
- id: 1
- tag name: Earpiece
- type: AUDIO_DEVICE_OUT_EARPIECE
Device 2:
- id: 2
- tag name: Speaker
- type: AUDIO_DEVICE_OUT_SPEAKER
Device 3:
- tag name: Wired Headset
- type: AUDIO_DEVICE_OUT_WIRED_HEADSET
Device 4:
- tag name: Wired Headphones
- type: AUDIO_DEVICE_OUT_WIRED_HEADPHONE
Device 5:
- id: 13
- tag name: Line
- type: AUDIO_DEVICE_OUT_LINE
Device 6:
- tag name: BT SCO All
- type: AUDIO_DEVICE_OUT_ALL_SCO
- inputs:
input 0:
- name: primary input
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030
- flags: 0x0000
- Supported devices:
Device 1:
- id: 8
- tag name: FM Tuner
- type: AUDIO_DEVICE_IN_FM_TUNER
Device 2:
- tag name: Wired Headset Mic
- type: AUDIO_DEVICE_IN_WIRED_HEADSET
Device 3:
- tag name: BT SCO Headset Mic
- type: AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET
Device 4:
- id: 9
- tag name: Telephony Rx
- type: AUDIO_DEVICE_IN_TELEPHONY_RX
input 1:
- name: surround_sound
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030, 0x00fc, 0x80000007, 0x8000000f
- flags: 0x0000
- Supported devices:
Device 1:
- id: 10
- tag name: Built-In Mic
- type: AUDIO_DEVICE_IN_BUILTIN_MIC
Device 2:
- id: 11
- tag name: Built-In Back Mic
- type: AUDIO_DEVICE_IN_BACK_MIC
input 2:
- name: record_24
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_8_24_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 96000, 192000
- channel masks:0x000c, 0x0010, 0x0030, 0x80000007, 0x8000000f
Profile 1:
- format: AUDIO_FORMAT_PCM_24_BIT_PACKED
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 96000, 192000
- channel masks:0x000c, 0x0010, 0x0030, 0x80000007, 0x8000000f
Profile 2:
- format: AUDIO_FORMAT_PCM_FLOAT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 96000, 192000
- channel masks:0x000c, 0x0010, 0x0030, 0x80000007, 0x8000000f
- flags: 0x0000
- Supported devices:
Device 1:
- id: 10
- tag name: Built-In Mic
- type: AUDIO_DEVICE_IN_BUILTIN_MIC
Device 2:
- id: 11
- tag name: Built-In Back Mic
- type: AUDIO_DEVICE_IN_BACK_MIC
Device 3:
- tag name: Wired Headset Mic
- type: AUDIO_DEVICE_IN_WIRED_HEADSET
input 3:
- name: voice_rx
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000, 48000
- channel masks:0x000c, 0x0010
- flags: 0x0000
- Supported devices:
Device 1:
- id: 9
- tag name: Telephony Rx
- type: AUDIO_DEVICE_IN_TELEPHONY_RX
- Declared devices:
Device 1:
- id: 1
- tag name: Earpiece
- type: AUDIO_DEVICE_OUT_EARPIECE
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0010
Device 2:
- id: 2
- tag name: Speaker
- type: AUDIO_DEVICE_OUT_SPEAKER
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0003
Device 3:
- tag name: Wired Headset
- type: AUDIO_DEVICE_OUT_WIRED_HEADSET
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0003
Device 4:
- tag name: Wired Headphones
- type: AUDIO_DEVICE_OUT_WIRED_HEADPHONE
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0003
Device 5:
- id: 13
- tag name: Line
- type: AUDIO_DEVICE_OUT_LINE
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0003
Device 6:
- tag name: BT SCO
- type: AUDIO_DEVICE_OUT_BLUETOOTH_SCO
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000
- channel masks:0x0001
Device 7:
- tag name: BT SCO Headset
- type: AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000
- channel masks:0x0001
Device 8:
- tag name: BT SCO Car Kit
- type: AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000
- channel masks:0x0001
Device 9:
- tag name: BT SCO All
- type: AUDIO_DEVICE_OUT_ALL_SCO
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000
- channel masks:0x0001
Device 10:
- id: 6
- tag name: Telephony Tx
- type: AUDIO_DEVICE_OUT_TELEPHONY_TX
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000
- channel masks:0x0001, 0x0003
Device 11:
- tag name: HDMI
- type: AUDIO_DEVICE_OUT_AUX_DIGITAL
- Profiles:
Profile 0:[dynamic channels]
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000
Device 12:
- tag name: Proxy
- type: AUDIO_DEVICE_OUT_PROXY
- Profiles:
Profile 0:[dynamic channels]
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000
Device 13:
- tag name: FM
- type: AUDIO_DEVICE_OUT_FM
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0001, 0x0003
Device 14:
- id: 10
- tag name: Built-In Mic
- type: AUDIO_DEVICE_IN_BUILTIN_MIC
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030
Profile 1:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030, 0x00fc, 0x80000007, 0x8000000f
Device 15:
- id: 11
- tag name: Built-In Back Mic
- type: AUDIO_DEVICE_IN_BACK_MIC
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030
Profile 1:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030, 0x00fc, 0x80000007, 0x8000000f
Device 16:
- id: 8
- tag name: FM Tuner
- type: AUDIO_DEVICE_IN_FM_TUNER
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x000c, 0x0010
Profile 1:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030
Device 17:
- tag name: Wired Headset Mic
- type: AUDIO_DEVICE_IN_WIRED_HEADSET
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030
Device 18:
- tag name: BT SCO Headset Mic
- type: AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000
- channel masks:0x0010
Device 19:
- id: 9
- tag name: Telephony Rx
- type: AUDIO_DEVICE_IN_TELEPHONY_RX
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 16000, 48000
- channel masks:0x0010
Profile 1:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000
- channel masks:0x000c, 0x0010, 0x0030
Audio Routes (14):
- Route 1:
- Type: Mix
- Sink: Earpiece
- Sources:
primary output
raw
deep_buffer
direct_pcm
compressed_offload
voip_rx
- Route 2:
- Type: Mix
- Sink: Speaker
- Sources:
primary output
raw
deep_buffer
direct_pcm
compressed_offload
voip_rx
- Route 3:
- Type: Mix
- Sink: Wired Headset
- Sources:
primary output
raw
deep_buffer
direct_pcm
compressed_offload
voip_rx
- Route 4:
- Type: Mix
- Sink: Wired Headphones
- Sources:
primary output
raw
deep_buffer
direct_pcm
compressed_offload
voip_rx
- Route 5:
- Type: Mix
- Sink: Line
- Sources:
primary output
raw
deep_buffer
direct_pcm
compressed_offload
voip_rx
- Route 6:
- Type: Mix
- Sink: HDMI
- Sources:
primary output
raw
deep_buffer
multichannel
direct_pcm
compressed_offload
- Route 7:
- Type: Mix
- Sink: Proxy
- Sources:
primary output
raw
deep_buffer
multichannel
direct_pcm
compressed_offload
- Route 8:
- Type: Mix
- Sink: FM
- Sources:
primary output
- Route 9:
- Type: Mix
- Sink: BT SCO All
- Sources:
primary output
raw
deep_buffer
direct_pcm
compressed_offload
voip_rx
- Route 10:
- Type: Mix
- Sink: Telephony Tx
- Sources:
voice_tx
- Route 11:
- Type: Mix
- Sink: primary input
- Sources:
Wired Headset Mic
BT SCO Headset Mic
FM Tuner
Telephony Rx
- Route 12:
- Type: Mix
- Sink: surround_sound
- Sources:
Built-In Mic
Built-In Back Mic
- Route 13:
- Type: Mix
- Sink: record_24
- Sources:
Built-In Mic
Built-In Back Mic
Wired Headset Mic
- Route 14:
- Type: Mix
- Sink: voice_rx
- Sources:
Telephony Rx
- HW Module 2:
- name: a2dp(Audio 蓝牙设备输入/输出时处理模块)
- handle: 18
- version: 2.0
- outputs:
output 0:
- name: a2dp output
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:44100
- channel masks:0x0003
- flags: 0x0000
- Supported devices:
Device 1:
- tag name: BT A2DP Out
- type: AUDIO_DEVICE_OUT_BLUETOOTH_A2DP
Device 2:
- tag name: BT A2DP Headphones
- type: AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES
Device 3:
- tag name: BT A2DP Speaker
- type: AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER
- inputs:
input 0:
- name: a2dp input
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:44100, 48000
- channel masks:0x000c, 0x0010
- flags: 0x0000
- Supported devices:
Device 1:
- tag name: BT A2DP In
- type: AUDIO_DEVICE_IN_BLUETOOTH_A2DP
- Declared devices:
Device 1:
- tag name: BT A2DP Out
- type: AUDIO_DEVICE_OUT_BLUETOOTH_A2DP
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:44100
- channel masks:0x0003
Device 2:
- tag name: BT A2DP Headphones
- type: AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:44100
- channel masks:0x0003
Device 3:
- tag name: BT A2DP Speaker
- type: AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:44100
- channel masks:0x0003
Device 4:
- tag name: BT A2DP In
- type: AUDIO_DEVICE_IN_BLUETOOTH_A2DP
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:44100, 48000
- channel masks:0x000c, 0x0010
Audio Routes (4):
- Route 1:
- Type: Mix
- Sink: BT A2DP Out
- Sources:
a2dp output
- Route 2:
- Type: Mix
- Sink: BT A2DP Headphones
- Sources:
a2dp output
- Route 3:
- Type: Mix
- Sink: BT A2DP Speaker
- Sources:
a2dp output
- Route 4:
- Type: Mix
- Sink: a2dp input
- Sources:
BT A2DP In
- HW Module 3:
- name: usb(Audio USB设备输入/输出时处理模块)
- handle: 26
- version: 2.0
- outputs:
output 0:
- name: usb_accessory output
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:44100
- channel masks:0x0003
- flags: 0x0000
- Supported devices:
Device 1:
- tag name: USB Host Out
- type: AUDIO_DEVICE_OUT_USB_ACCESSORY
output 1:
- name: usb_device output
- Profiles:
Profile 0:[dynamic format][dynamic channels][dynamic rates]
- flags: 0x0000
- Supported devices:
Device 1:
- tag name: USB Device Out
- type: AUDIO_DEVICE_OUT_USB_DEVICE
- inputs:
input 0:
- name: usb_device input
- Profiles:
Profile 0:[dynamic format][dynamic channels][dynamic rates]
- flags: 0x0000
- Supported devices:
Device 1:
- tag name: USB Device In
- type: AUDIO_DEVICE_IN_USB_DEVICE
- Declared devices:
Device 1:
- tag name: USB Host Out
- type: AUDIO_DEVICE_OUT_USB_ACCESSORY
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:44100
- channel masks:0x0003
Device 2:
- tag name: USB Device Out
- type: AUDIO_DEVICE_OUT_USB_DEVICE
- Profiles:
Profile 0:[dynamic format][dynamic channels][dynamic rates]
Device 3:
- tag name: USB Device In
- type: AUDIO_DEVICE_IN_USB_DEVICE
- Profiles:
Profile 0:[dynamic format][dynamic channels][dynamic rates]
Audio Routes (3):
- Route 1:
- Type: Mix
- Sink: USB Host Out
- Sources:
usb_accessory output
- Route 2:
- Type: Mix
- Sink: USB Device Out
- Sources:
usb_device output
- Route 3:
- Type: Mix
- Sink: usb_device input
- Sources:
USB Device In
- HW Module 4:
- name: r_submix(Audio 远程交互时处理模块)
- handle: 34
- version: 2.0
- outputs:
output 0:
- name: r_submix output
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0003
- flags: 0x0000
- Supported devices:
Device 1:
- tag name: Remote Submix Out
- type: AUDIO_DEVICE_OUT_REMOTE_SUBMIX
- address: 0
- inputs:
input 0:
- name: r_submix input
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x000c
- flags: 0x0000
- Supported devices:
Device 1:
- id: 12
- tag name: Remote Submix In
- type: AUDIO_DEVICE_IN_REMOTE_SUBMIX
- address: 0
- Declared devices:
Device 1:
- tag name: Remote Submix Out
- type: AUDIO_DEVICE_OUT_REMOTE_SUBMIX
- address: 0
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x0003
Device 2:
- id: 12
- tag name: Remote Submix In
- type: AUDIO_DEVICE_IN_REMOTE_SUBMIX
- address: 0
- Profiles:
Profile 0:
- format: AUDIO_FORMAT_PCM_16_BIT
- sampling rates:48000
- channel masks:0x000c
Audio Routes (2):
- Route 1:
- Type: Mix
- Sink: Remote Submix Out
- Sources:
r_submix output
- Route 2:
- Type: Mix
- Sink: r_submix input
- Sources:
Remote Submix In
Outputs dump:(下面打印的是输出流通道列表,跟上面提到的输出流通道的句柄是一一对应的)
- Output 13 dump(跟上面保持一致的句柄号):
Latency: 48
Flags 00000006
ID: 3
Sampling rate: 48000
Format: 00000001
Channels: 00000003
Devices 00020000
Stream volume refCount muteCount(句柄为13(跟上述的IO Handle的句柄保持一致)的输出设备中的各种音频流的音量信息)
00 -10.625 00 00 (refCount这一列比较重要,当该音频流输出通道中含有多少个对应类型的音频流时这个数值就是多少)
01 -10.000 00 00
02 -10.000 00 00
03 0.000 00 00(通常表示Music流类型的音频流,前面的编号跟AudioSystem.java中定义的编号是保持一致的,下面的行也是类似的)
04 -10.000 00 00(通常表示Alarm流类型的音频流)
05 -10.000 00 00
06 -1.000 00 00
07 -10.000 00 00
08 -10.000 00 00
09 -96.000 00 00
10 0.000 00 00
11 0.000 00 00
12 -1.000 00 00
- Output 21 dump:
Latency: 48
Flags 00000104
ID: 4
Sampling rate: 48000
Format: 00000001
Channels: 00000003
Devices 00000002
Stream volume refCount muteCount
00 -5.882 00 00
01 -6.000 00 00
02 0.000 00 00
03 0.000 00 00
04 0.000 00 00
05 0.000 00 00
06 -1.000 00 00
07 -6.000 00 00
08 -6.000 00 00
09 0.000 00 00
10 0.000 00 00
11 0.000 00 00
12 -1.000 00 00
- Output 29 dump:
Latency: 80
Flags 00000008
ID: 5
Sampling rate: 48000
Format: 00000001
Channels: 00000003
Devices 00020000
Stream volume refCount muteCount
00 -10.625 00 00
01 -10.000 00 00
02 -10.000 00 00
03 0.000 00 00
04 -10.000 00 00
05 -10.000 00 00
06 -1.000 00 00
07 -10.000 00 00
08 -10.000 00 00
09 -96.000 00 00
10 0.000 00 00
11 0.000 00 00
12 -1.000 00 00
- Output 37 dump:
Latency: 112
Flags 00000000
ID: 7
Sampling rate: 48000
Format: 00000001
Channels: 00000003
Devices 00010000
Stream volume refCount muteCount
00 -5.882 00 00
01 -6.000 00 00
02 0.000 00 00
03 0.000 00 00
04 0.000 00 00
05 0.000 00 00
06 -1.000 00 00
07 -6.000 00 00
08 -6.000 00 00
09 0.000 00 00
10 0.000 00 00
11 0.000 00 00
12 -1.000 00 00
- Output 93 dump:
Latency: 50
Flags 00002001
ID: 20
Sampling rate: 16000
Format: 00000001
Channels: 00000001
Devices 00020000
Stream volume refCount muteCount
00 -10.625 00 00
01 -10.000 00 00
02 -10.000 00 00
03 0.000 00 00
04 -10.000 00 00
05 -10.000 00 00
06 -1.000 00 00
07 -10.000 00 00
08 -10.000 00 00
09 -96.000 00 00
10 0.000 00 00
11 0.000 00 00
12 -1.000 00 00
Inputs dump:
- Input 54 dump:
ID: 16
Sampling rate: 16000
Format: 1
Channels: 8000000f
Devices 80000004
Audio Sessions:
Audio session 1:
- session: 17
- owner uid: 10064
- input source: 1
- format: 00000001
- sample: 16000
- channel mask: 8000000f
- is soundtrigger: false
- open count: 1
- active count: 1
Streams dump:
Stream Can be muted Index Min Index Max Index Cur [device : index]...
00 true 01 05 40000000 : 04,
01 true 00 07 0002 : 07, 40000000 : 07,
02 true 00 07 0002 : 07, 40000000 : 07,
03 true 00 15 0004 : 10, 0008 : 10, 40000000 : 15,
04 true 00 07 40000000 : 07,
05 true 00 07 0002 : 07, 40000000 : 07,
06 true 00 15 40000000 : 15,
07 true 00 07 0002 : 07, 40000000 : 07,
08 true 00 15 0002 : 15, 40000000 : 15,
09 true 00 15 0004 : 10, 0008 : 10, 40000000 : 15,
10 true 00 15 0004 : 10, 0008 : 10, 40000000 : 15,
11 true 00 01 40000000 : 00,
12 true 00 01 40000000 : 00,
Volume Curves for Use Cases (aka Stream types) dump:(各种音频场景的音量曲线,选取曲线上的4个点,将上层音量的float值转换为audio硬件音量的db值,实际上解析的就是上述audio_policy_volumes.xml和default_volume_tables.xml配置文件)
AUDIO_STREAM_VOICE_CALL (00): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 0, -4200), ( 33, -2800), ( 66, -1400), (100, 0) }
DEVICE_CATEGORY_SPEAKER : {( 0, -2400), ( 33, -1600), ( 66, -800), (100, 0) }
DEVICE_CATEGORY_EARPIECE : {( 0, -2400), ( 33, -1600), ( 66, -800), (100, 0) }
DEVICE_CATEGORY_EXT_MEDIA : {( 1, -5800), ( 20, -4000), ( 60, -1700), (100, 0) }
AUDIO_STREAM_SYSTEM (01): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 1, -3000), ( 33, -2600), ( 66, -2200), (100, -1800) }
DEVICE_CATEGORY_SPEAKER : {( 1, -2400), ( 33, -1800), ( 66, -1200), (100, -600) }
DEVICE_CATEGORY_EARPIECE : {( 1, -2400), ( 33, -1800), ( 66, -1200), (100, -600) }
DEVICE_CATEGORY_EXT_MEDIA : {( 1, -5800), ( 20, -4000), ( 60, -2100), (100, -1000) }
AUDIO_STREAM_RING (02): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 1, -4950), ( 33, -3350), ( 66, -1700), (100, 0) }
DEVICE_CATEGORY_SPEAKER : {( 1, -2970), ( 33, -2010), ( 66, -1020), (100, 0) }
DEVICE_CATEGORY_EARPIECE : {( 1, -4950), ( 33, -3350), ( 66, -1700), (100, 0) }
DEVICE_CATEGORY_EXT_MEDIA : {( 1, -5800), ( 20, -4000), ( 60, -2100), (100, -1000) }
AUDIO_STREAM_MUSIC (03): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 1, -5800), ( 20, -4000), ( 60, -1700), (100, 0) }
DEVICE_CATEGORY_SPEAKER : {( 1, -5800), ( 20, -4000), ( 60, -1700), (100, 0) }
DEVICE_CATEGORY_EARPIECE : {( 1, -5800), ( 20, -4000), ( 60, -1700), (100, 0) }
DEVICE_CATEGORY_EXT_MEDIA : {( 1, -5800), ( 20, -4000), ( 60, -1700), (100, 0) }
AUDIO_STREAM_ALARM (04): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 1, -4950), ( 33, -3350), ( 66, -1700), (100, 0) }
DEVICE_CATEGORY_SPEAKER : {( 1, -2970), ( 33, -2010), ( 66, -1020), (100, 0) }
DEVICE_CATEGORY_EARPIECE : {( 1, -4950), ( 33, -3350), ( 66, -1700), (100, 0) }
DEVICE_CATEGORY_EXT_MEDIA : {( 1, -5800), ( 20, -4000), ( 60, -2100), (100, -1000) }
AUDIO_STREAM_NOTIFICATION (05): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 1, -4950), ( 33, -3350), ( 66, -1700), (100, 0) }
DEVICE_CATEGORY_SPEAKER : {( 1, -2970), ( 33, -2010), ( 66, -1020), (100, 0) }
DEVICE_CATEGORY_EARPIECE : {( 1, -4950), ( 33, -3350), ( 66, -1700), (100, 0) }
DEVICE_CATEGORY_EXT_MEDIA : {( 1, -5800), ( 20, -4000), ( 60, -2100), (100, -1000) }
AUDIO_STREAM_BLUETOOTH_SCO (06): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 0, -4200), ( 33, -2800), ( 66, -1400), (100, 0) }
DEVICE_CATEGORY_SPEAKER : {( 0, -2400), ( 33, -1600), ( 66, -800), (100, 0) }
DEVICE_CATEGORY_EARPIECE : {( 0, -4200), ( 33, -2800), ( 66, -1400), (100, 0) }
DEVICE_CATEGORY_EXT_MEDIA : {( 1, -5800), ( 20, -4000), ( 60, -1700), (100, 0) }
AUDIO_STREAM_ENFORCED_AUDIBLE (07): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 1, -3000), ( 33, -2600), ( 66, -2200), (100, -1800) }
DEVICE_CATEGORY_SPEAKER : {( 1, -2400), ( 33, -1800), ( 66, -1200), (100, -600) }
DEVICE_CATEGORY_EARPIECE : {( 1, -2400), ( 33, -1800), ( 66, -1200), (100, -600) }
DEVICE_CATEGORY_EXT_MEDIA : {( 1, -5800), ( 20, -4000), ( 60, -2100), (100, -1000) }
AUDIO_STREAM_DTMF (08): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 1, -3000), ( 33, -2600), ( 66, -2200), (100, -1800) }
DEVICE_CATEGORY_SPEAKER : {( 1, -2400), ( 33, -1800), ( 66, -1200), (100, -600) }
DEVICE_CATEGORY_EARPIECE : {( 1, -2400), ( 33, -1800), ( 66, -1200), (100, -600) }
DEVICE_CATEGORY_EXT_MEDIA : {( 1, -5800), ( 20, -4000), ( 60, -2100), (100, -1000) }
AUDIO_STREAM_TTS (09): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 0, -9600), (100, -9600) }
DEVICE_CATEGORY_SPEAKER : {( 0, 0), (100, 0) }
DEVICE_CATEGORY_EARPIECE : {( 0, -9600), (100, -9600) }
DEVICE_CATEGORY_EXT_MEDIA : {( 0, -9600), (100, -9600) }
AUDIO_STREAM_ACCESSIBILITY (10): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 1, -5800), ( 20, -4000), ( 60, -1700), (100, 0) }
DEVICE_CATEGORY_SPEAKER : {( 1, -5800), ( 20, -4000), ( 60, -1700), (100, 0) }
DEVICE_CATEGORY_EARPIECE : {( 1, -5800), ( 20, -4000), ( 60, -1700), (100, 0) }
DEVICE_CATEGORY_EXT_MEDIA : {( 1, -5800), ( 20, -4000), ( 60, -1700), (100, 0) }
AUDIO_STREAM_REROUTING (11): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 0, 0), (100, 0) }
DEVICE_CATEGORY_SPEAKER : {( 0, 0), (100, 0) }
DEVICE_CATEGORY_EARPIECE : {( 0, 0), (100, 0) }
DEVICE_CATEGORY_EXT_MEDIA : {( 0, 0), (100, 0) }
AUDIO_STREAM_PATCH (12): Curve points for device category (index, attenuation in millibel)
DEVICE_CATEGORY_HEADSET : {( 0, 0), (100, 0) }
DEVICE_CATEGORY_SPEAKER : {( 0, 0), (100, 0) }
DEVICE_CATEGORY_EARPIECE : {( 0, 0), (100, 0) }
DEVICE_CATEGORY_EXT_MEDIA : {( 0, 0), (100, 0) }
Total Effects CPU: 0.000000 MIPS, Total Effects memory: 0 KB, Max memory used: 0 KB
Registered effects:
Audio Patches:
Audio patch 1:
- handle: 5
- audio flinger handle: 44
- owner uid: 1041
- 1 sources:
- Device ID 10 AUDIO_DEVICE_IN_BUILTIN_MIC
- 1 sinks:
- Mix ID 16 I/O handle 54
Audio patch 2:
- handle: 8
- audio flinger handle: 68
- owner uid: 1041
- 1 sources:
- Mix ID 3 I/O handle 13
- 1 sinks:
- Device ID 13 AUDIO_DEVICE_OUT_LINE
Audio patch 3:
- handle: 9
- audio flinger handle: 76
- owner uid: 1041
- 1 sources:
- Mix ID 5 I/O handle 29
- 1 sinks:
- Device ID 13 AUDIO_DEVICE_OUT_LINE
Audio patch 4:
- handle: 11
- audio flinger handle: 92
- owner uid: 1041
- 1 sources:
- Mix ID 20 I/O handle 93
- 1 sinks:
- Device ID 13 AUDIO_DEVICE_OUT_LINE