Android-音频系统_学习指北

写在前面

人生若白驹过隙,忽然而已;
即使岁月匆匆,无情流逝,我们依然砥砺前行;
回望工作以来走过得六载风华,收获颇丰;
一个个新知识点的认识熟悉;
一个个疑难问题的庖丁解牛;
我们痛并快乐的徜徉在代码的海洋里。

你问我"不知道自己不知道"到"不知道自己知道"的距离究竟有多远?
要想看清,就要从蒙昧中睁开眼来;
或许此刻我们无知;
但我们还年轻;
我们渴望知道;
我们要时刻保持对世界、对自己的好奇心与求知欲;
不断前行;
要坚信所有的努力都是有回报的。


做了五年的无线互联,现在转战于音频和图像,mark一下,同志们,继续加油!!!

Android音频系统简介

在学习新知识的时候,我一般遵循“是什么”、“如何用”、“为什么”的思路,“是什么”让我们明确这个知识是个什么东西,“如何用”让我们变成一个实战派,活学活用;“为什么”让我们知道原理,知其然也知其所以然。

是什么?
具体可以参考Google官方开发者文档
https://source.android.google.cn/devices/audio

你可以从framework audio的api看起,也可以去补充下Linux ALSA架构的知识,也可以从AudioFlinger/AudioPolicy刨根问底,这个随你,但最终要把整个知识体系串联起来,构建自己的知识宝塔。


在学习的过程中,多问自己一些问题
Qualcomm ACDB的到底做了什么?
音频焦点为什么是一个SHOULD策略而不是MUST策略?
AudioFlinger 里面跑了几个线程?
DSP和codec分别又充当了什么角色?
电话声音和媒体声音是一个通道出来的吗?
pop音听出了,是硬件通道切换时序有待优化,还是你给我的数据underrun了?
tinyalsa又是个啥?
Machine| |Platform| |Codec 这个这么抽象吗?
I2S是不是要去了解下?
audio offload 给cpu减轻了很多压力?
大家刚开始的采样率不一样吗?最后播放出来好像都是正常的嘛?
声卡是怎么注册上来的?
音频数据怎么就能到codec呢?
不同的音频流怎么找到属于自己的物理设备?

在这里插入图片描述
如何用?
所谓音频,对于人来说是一种声音载体,它是存在接收和发送的。收/录音(record)和发/放音(playback)

在record/playback的过程中,会做一些标准化的动作,那么就出现了像采样率、采样位深、声道这些术语,
任何一个行业都有其特定的术语,如果你想涉足这个行业,那么没什么好说的, learn it and understand it.

关于行业术语,具体可以参见https://source.android.google.cn/devices/audio/terminology
肯定会遇到不理解的,google一下,先有个概念性的认识,随着你做这个行业久了,会升华你的认知的。

如果你想做一个播放器?
那么你会接触到MediaPlayer/AudioTrack/AudioFocus等

关于MediaPlayer 网上一搜 一堆资料,这个根据你的学习习惯选择看blog还是看开发者文档/read code
要说的是它本身是包含编解码的

AudioTrack 就是裸的pcm数据流可以直接播

在这里插入图片描述
所有的用户肯定不希望出现这个场景,我在听网易云音乐,旁边的QQ音乐也开心的播放了起来。
为了解决这个问题,Android引入了“音频焦点”,这是一个中庸策略,我希望大家都尽量遵守,那么系统内的所有音频可以和平相处

** 为什么?**
要问为什么?那就由你在学习的过程中,不断补充吧,哈哈!!!


动起来吧!小伙子, 你好像还是很年轻的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值