
Android audio
文章平均质量分 67
记录Android系统音频相关和项目中遇到的问题
sdkdlwk
Android系统driver、hal、framework、app demo等定制、调试、合作,请私信!
展开
-
Android 中绕过hwbinder 实现跨模块对audio 的HAL调用
Audio 模块中专门为 TV 产品添加了一些代码,需要在 hdmi 的 HAL 代码中进行调用以完成某些功能。原创 2025-04-10 21:39:23 · 66 阅读 · 0 评论 -
高通音频数据从HAL到DSP
..},// quin_tdm_rx_0 定义// cpu组件 msm-dai-q6-v2.c// platform组件 msm-pcm-routing-v2.ccpu组件"msm-dai-q6-tdm.36928" 36928, 对应的是,也即0x9040其仅有唯一的dai, 即 COMP_CPU("msm-dai-q6-tdm.36928") 对应的dai是,},// prepare hw_params set_tdm_slot set_sysclk 等方法},原创 2025-04-08 20:53:27 · 963 阅读 · 0 评论 -
高通平台 mixer_paths.xml 配置文件初始化流程分析
xml文件存放的路径更改了,android O的路径位于/vendor/etc/下面,android N位于/system/etc/在调试音频问题时,经常需要分析音频的各种场景route情况,下面记录mixer_paths.xml的初始化过程,代码仅供参考。xml位于源码位置hardware/qcom/audio/configs/msm8953/然后不同的设备,也就是不同的标签里面的内容,标签中的值表示不同的设备。文件的开头会写一些默认的参数,也就是里面的内容,就是默认的参数。因此可以知道选取的文件。原创 2025-04-08 20:14:57 · 141 阅读 · 0 评论 -
Android_P_Audio_系统(2) — AudioTrack
AudioTrack 用于 Android 平台音频数据输出,属于 Audio 系统对外提供的 API 类,因此它在 Java 与Native层均有对应的源码实现。先从 Java 层的一个用例了解下 AudioTrack 工作流程。// 1 根据音频数据特征确定所要分配的缓存区的最小 sizeAudioTrack.getMinBufferSize(8000, // 采样率:每秒 8000 个采样点AudioFormat.CHANNEL_OUT_STEREO, // 声道数:双声道。原创 2025-02-06 09:46:01 · 1035 阅读 · 0 评论 -
Android_P_Audio_系统(1) — Auido 系统简介
声波的频率高,则音调也高。PCM 数据是最原始的音频数据完全无损,所以 PCM 数据虽然音质优秀但体积庞大,为了解决这个问题先后诞生了一系列的音频格式,这些音频格式运用不同的方法对音频数据进行压缩,通常分为无损压缩(ALAC、APE、FLAC)和有损压缩(MP3、AAC、OGG、WMA)两种。音频数据是流式的,本身没有明确的一帧帧的概念,在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取 2.5ms~60ms 为单位的数据量为一帧音频。当我们用较大的力量敲鼓时,鼓膜振动的幅度大,发出的声音响;原创 2025-02-06 09:40:14 · 1077 阅读 · 0 评论 -
Android Audio音频系统
Audio硬件抽象层的实现在各个系统中可能是不同的,需要使用代码去继承相应的类并实现它们,作为Android系统本地框架层和驱动程序接口AudioFlinger继承了libmedia.so(Audio本地框架类)里面的接口,上层调用的只是libmedia.so部分的接口,但实际上调用的内容是libaudioflinger.so,使用JNI和Java对上层提供接口,JNI部分通过调用libmedia.so库提供的接口来实现。虽然有的类是在同一个库中实现的,但并不代表它们会在同一个进程中被调用。原创 2025-01-21 10:38:52 · 1077 阅读 · 1 评论 -
音频数据的处理
在研究android音频架,音频驱动等的时候,就有涉及到dump音频数据debug,重采样,downmixer,位深转换的处理,那这些的操作原理以及相关算法是如何实现的呢?带着这个问题,开始探讨音频数据的如下几个问题音频数据的特征,与存储等基本概念音频数据的dump方法重采样downmix存储位深转换参考文章列表。原创 2024-11-12 15:04:44 · 956 阅读 · 0 评论 -
查看多个通道32bit音频pcm数据
本文分析一个32位多通道pcm数据,一方面简单解释一下pcm数据格式,另外一方面看清楚实际数据的精度是多少。。原创 2024-11-01 19:14:57 · 621 阅读 · 0 评论 -
Android audio pop 音产生和解决方法
pop noise其实是隔直电容被充电产生。原创 2023-12-14 18:57:23 · 47293 阅读 · 1 评论 -
Android audio设置投屏和喇叭双输出
在 Android13 平台上,使用 USB 投屏工具scrcpy,投屏到电脑端时,声音被截到 电脑端播放,Android设备 端静音,在Android11及之前都是 在Android设备端正常播放。原创 2023-12-12 23:45:58 · 48519 阅读 · 1 评论 -
Android音量调节参考一
基于android 9平台分析。在Android系统中,默认的设备(phone等)音量都是分开控制的,这些包括媒体、铃声、闹铃、蓝牙、通话通过音频流来区别不同的音量类型。原创 2023-12-07 17:01:04 · 50676 阅读 · 0 评论 -
Qualcomm ASOC_Speaker 修改mixer_paths_qrd_sku3.xml调试记录
1、tinymix log 检索 MI2S_RX Channels|RX1 MIX1 INP1|RX2 MIX1 INP1|RDAC2 MUX|HPHL|HPHR|Ext Spk Switch2、XML文件配置2.1 从耳机双声道路径经过的Speaker及其对应的原理图 <path name="speaker"> <ctl name="MI2S_RX Channels" value="Two" /> <...原创 2020-05-15 07:58:24 · 5889 阅读 · 0 评论 -
蓝牙音频模块底噪较大,消除方法
某宝上购买蓝牙音频模块,直接输出到扬声器,底噪不明显,但如果将蓝牙音频模块的输出接入功放进行放大,存在比较大的背景噪声,听感很不好。该噪声不是白噪音的“沙沙”声,而是和蓝牙通讯有关的“吱吱”声。手头具有蓝牙、TF、USB、FM多种功能的播放器在将输出接入到功放后,也存在同样的问题。怀疑是蓝牙通信过程中的脉冲电流通过电源耦合到了音频部分,尝试将电解电容并到蓝牙音频模块的电源输出端,噪音明显降低。...原创 2019-05-25 14:01:57 · 12181 阅读 · 0 评论 -
[RK3288][Android7.1] 通过软件限制最大输出音量,避免喇叭破音
[RK3288][Android7.1] 通过软件限制最大输出音量,避免喇叭破音Platform: RockchipOS: Android 7.1.2Kernel: 4.4需求:在不修改硬件电路的基础上限制最大输出音量,避免小功率喇叭出现破音修改路径:hardware\rockchip\audio\legacy_hal\AudioPolicyManagerBase.cpp第一步...原创 2019-05-25 14:12:25 · 19385 阅读 · 0 评论 -
Codec播放音乐会有底噪
Platform: RK3399OS: Android 7.1Kernel: v4.4.83背景:移植完Codec RT5640之后,发现播放声音的时候底部有噪声。用示波器测量到的左右声道波形如下:左声道波形:右声道波形:左右声道波形:原因:一般波形上有这种有规律的毛刺基本上都是clock的问题。经后面分析查证,发现i2s1的master clock在主rk3...转载 2019-05-25 14:04:08 · 1493 阅读 · 0 评论 -
Android音量控制曲线
本文介绍了android音量的控制曲线的计算方法。 由于人耳对声音的听感具指数曲线型,也就是对小音量时比较敏感,随着声音的加大其听感随之变的不敏感,其变化近似指数函数曲线的形式。为了使听感变的近似直线的变化,人们在实践中就采用了音量变化近似对数式曲线型的电位器来实现这个目的。对比法产生音量控制曲线与最终扬声器输出的声压有关,当然您也可以根据扬声器的输出功率来进行比对,但功率终究不如电压来的方...转载 2019-05-25 13:59:03 · 1881 阅读 · 0 评论