android Audio
文章平均质量分 89
Android Audio整体理解,从AudioManager到hal,各个层面存在的意义,作用。
王二の黄金时代
碰到问题,就解决问题
展开
-
<一>Android Audio音频框架
个人对于Android 音频模块的整体理解,分析各个子模块存在的意义,领悟设计者架构思想,探讨未来可能的发展趋势。全文涉及到 AudioFlinger AudioPolicy AudioSystem AudioService AudioManager以及用于音频流数据传输的 AudioTrack OpenSLes AAudio。原创 2022-08-25 15:57:16 · 4208 阅读 · 1 评论 -
9. android 动态音频策略的原理
如此,对于手机上的场景,可以使用默认的策略,对于汽车,只需要再添加一个app,把新的策略注册进去即可覆盖替换原先的策略。 这个支持app层注册音频规则和控制回调的策略,即动态策略,它包括了 设备选择(mix规则)、音量控制(分频分区域控制音量)、音频焦点申请这三个策略原创 2022-11-10 17:29:15 · 2301 阅读 · 0 评论 -
2. android 直接使用hal库播放pcm demo
Android native 层 ,直接使用 hal 库播放音频的 简单demo 可执行程序原创 2022-11-08 11:12:46 · 1774 阅读 · 3 评论 -
4. Android native层直接使用AudioFlinger播放pcm
目录一:概述 一个c语言demo可执行程序,直接使用AudioFlinger 播放pcm.二:实现环境 ubuntu22.04 编译 aosp11 源码源码 main()结果这是一个c语言demo程序,android源码环境,编译得到 bin文件,push到设备上在shell环境运行,播放pcm数据。如果是app java开发,没有系统源码,就不建议往下看了。用于研究AudioFlinger源码,这是一个demo,在源码层面编译,直接获取AuduioFlinger服务,使用AudioFlinger的原创 2022-06-30 16:15:56 · 1651 阅读 · 0 评论 -
11. Android native层使用TrackPlayer播放pcm
android framework audio 。 安卓音频底层opensl输出接口,TrackPlayer demo c程序。原创 2022-06-29 11:10:51 · 1753 阅读 · 0 评论 -
1. android tinyalsa 理解
ALSA 是linux上的音频框架,音频设备按照此框架实现自己的驱动 alsa-driver,在应用层即可以通过统一的alsa-lib 来读写控制音频设备。 tinyalsa, 就是简化版的alsa-lib ,用于调试查看 linux内核里面alsa 驱动下的音频设备,其原理,即读写 dev/snd/pcmxx 设备节点,ioctl操作。如果hal层的具体实现不经过alsa,那么这个tinyalsa也就没法调试到这些音频设备。而hal层,是不开源的原创 2022-09-14 14:20:08 · 2310 阅读 · 0 评论