![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android Audio
文章平均质量分 77
zgyhc2050
毕业于
展开
-
【Android Audio】onAudioPortListUpdate 和 onAudioPatchListUpdate回调流程
当系统的output和input发生变化、output device和input device发生变化时都会触发该函数的调用当系统的audio patch发生变化,切换、新增、删除时都会触发该函数原创 2022-07-06 16:55:28 · 1247 阅读 · 0 评论 -
【Android Audio】dumpsys audio分析【不定期更新文章】
dumpsys audio显示当前所有stream type的音量状态显示AudioDeviceBroker状态命令:dumpsys audioMessage handler (watch for unhandled messages): Handler (com.android.server.audio.AudioService$AudioHandler) {4adb93d} @ 5038924 Looper (AudioService, tid 87) {e96a532}原创 2021-07-19 16:51:53 · 2933 阅读 · 0 评论 -
【Bug-Fixes】【Audio】{断开蓝牙音箱时收不到AudioService的Routes信息} [SWPL-52581]
项目场景: Android TV,Android R 1、连接蓝牙音箱,进入LiveTv播放DVB节目,然后断开蓝牙音箱,预期TV的Speaker正常播放声音。问题描述:非ms12版本,连接蓝牙音箱,进入LiveTv播放非Dolby的DVB节目,然后断开蓝牙音箱,TV的Speaker无声。 frameworks/base/services/core/java/com/android/server/audio/AudioService.java /* 这里是TV平台所以是STR原创 2021-06-17 10:10:39 · 695 阅读 · 0 评论 -
【Bug-Fixes】【Audio】{Launcher下遥控器按mute,然后再按音量+,之后无按键音} [SWPL-26283]
项目场景: Android TV,Android Q 1、在Launcher下通过遥控器按mute,然后再按音量+,之后系统音无声音(按键音) 2、在Launcher下通过遥控器按mute,然后再按mute,之后系统音是正常有声音的问题描述:在Launcher下通过遥控器按mute,然后再按音量+,之后系统音无声音(按键音) frameworks/base/services/core/java/com/android/server/audio/AudioService.原创 2020-12-11 15:24:33 · 371 阅读 · 0 评论 -
【Android Audio】安卓音量管理
安卓音量管理1、Android音量的保存AudioService.javaAudioSystem.java1、Android音量的保存存放到数据库AudioHandler.persistVolumeprivate void persistVolume(VolumeStreamState streamState, int device) {... System.putIntForUser(mContentResolver, streamState.getSet原创 2021-06-04 16:40:19 · 2759 阅读 · 0 评论 -
【Android Audio】dumpsys media.audio_policy分析【不定期更新文章】
命令:dumpsys media.audio_policyAudioPolicyManager: 0xf1e5a000Command Thread: 0xf1ff3300Supported System Usages:AudioCommandThread 0xf1ff3300 Dump- Commands: Command Time Wait pParam Last Command 01 014581.648 0 0xf19e5440Aud.原创 2021-05-31 20:07:40 · 3950 阅读 · 6 评论 -
【Android Audio】4、音频设备管理 【基于Android Q 】
4、音频设备管理 【基于Android Q 】audio policy xml里面有2种角色:source和sink,每种角色又分为devicePorts和mixPorts。type为AUDIO_PORT_TYPE_DEVICEdevicePorts(source):为实际的硬件输入设备,对应安卓的role为AUDIO_PORT_ROLE_SOURCE ;devicePorts(sink):为实际的硬件输出设备,对应安卓的role为AUDIO_PORT_ROLE_SINK ;type为AUDI原创 2020-12-03 20:19:50 · 2254 阅读 · 0 评论 -
【Android Audio】5、EngineBase加载音量曲线和策略 【基于Android Q 】
5、音量曲线 【基于Android Q 】5.1、音量曲线加载code5.2、音量转换5.1、音量曲线加载code路径:frameworks/av/services/audiopolicy/managerdefault/engine/common/src/EngineBase.cppengineConfig::ParsingResult EngineBase::loadAudioPolicyEngineConfig(){... auto loadVolumeGroups = [](auto原创 2020-10-13 14:35:53 · 2789 阅读 · 0 评论 -
【Android Audio】dumpsys media.audio_flinger 分析【基于Android Q 】【不定期更新文章】
AudioFlinger dumpsys1、第一部分2、第二部分dumpsys media.audio_flinger 1、第一部分1、Output thread:表示当前线程为输出流的线程2、I/O handle:表示当前的线程handle3、Standby:no表示当前线程在运行。4、Sample rate:采样率6、HAL foramt:送给audio hal的格式13、Output device:当前线程处理的数据输出到的音频设备30、flags:标记输出流hal原创 2020-09-08 16:25:11 · 7437 阅读 · 2 评论 -
【Android Audio】Android Tv中Audio Output Format 开机刷新流程
可通过粘性广播获取audio format。 /*------------------hippo encode -------------------------------*/ Intent temp = context.registerReceiver( /* receiver= */ null, new IntentFilter(AudioManager.ACTION_HDMI_AUDIO_PLUG)); int[] formats = temp.getIn原创 2019-05-31 17:15:21 · 394 阅读 · 0 评论 -
【Android Audio】audioserver与audio hal hidl通信
安卓primary设备调用流程Hal audio系统上下文Hal audio第一步AudioFlingereg: AudioFlinger::PatchPanel::createAudioPatchframeworks/av/services/audioflinger/PatchPanel.cpp/system/lib/ibaudioflinger.so第二步libaudiohaleg: DeviceHalHidl::createAudioPatchAndroid P:framew原创 2020-09-03 17:19:41 · 2880 阅读 · 0 评论 -
【Android Audio】XXX Android Q音频 hal 架构
原创 2020-07-21 19:28:24 · 633 阅读 · 2 评论 -
安卓音频同步头分析
音频流中的同步头分两个version同步头,version number=1时,为16字节同步头;version number=2时,为20字节同步头。0 - 2字节:0x55 0x55 0x00 (固定)3字节:version number,为1或者24 - 7字节:帧大小,当前帧头所带音频数据帧的大小8 - 15字节:apt值,单位为ns16 - 19字节:保留位,只有version number为2时才有...原创 2020-07-06 19:48:25 · 684 阅读 · 0 评论 -
【Android Audio】Audio系统架构图
原流程图下载地址:https://download.csdn.net/download/u013120422/11937942原创 2020-04-09 20:37:05 · 764 阅读 · 0 评论 -
【Android Audio】AAudio 架构讲解以及实现范例 (附带visio流程图)
Google官方网站:Audio Hal 适配: https://source.android.google.cn/devices/audio/aaudioAAudio 上层应用使用说明:https://developer.android.google.cn/ndk/guides/audio/aaudio/aaudioAAudio API说明文档:https://developer.andr...原创 2019-10-21 17:34:03 · 8093 阅读 · 16 评论 -
【Android Audio】AudioTrack和AudioFlinger之间数据通信架构,以及内存分配
1、AF中最多支持32个Track;2、一个应用进程创建多个AT时只会拥有一个Client,多个AT申请内存由该进程的Client从ClientSharedHeapSize大小的内存中分配;3、一个Client管理的空间是固定的,由变量ClientSharedHeapSize决定;4、每一个创建AT的进程都会创建一个Client,分配ClientSharedHeapSize大小的内存;获取...原创 2019-10-28 16:35:26 · 712 阅读 · 0 评论