Linux 音频、Android 音频
https://www.cnblogs.com/linhaostudy/p/8169383.html
https://www.jianshu.com/p/0f5fe8f51b66
简介
LINUX下音频驱动开发,要遵循标准的ALSA架构,
下面分别从硬件架构、软件架构、驱动程序,3个方面分析。
硬件架构
硬件上音频总线接口有很多,如I2S、PCM、TDM、SLIMBUS等,以I2S为例分析:
I2S接口.png
- 播放流程
- 使用I2C对CODEC做初始化配置。
- 音频数据从外部flash读取到内存中。
- 数据经过DMA送到I2S的TXFIFO。
- 数据由TXFIFO送到CODEC硬件。
- 在CODEC硬件里,数据从数字信号转变成模拟信号。
- 模拟信号经过喇叭播放出来,就实现了声音的播放。
- 录音流程
与播放流程相反,在第5步,从模拟信号变成数字信号,其他都一样
软件架构-ALSA
安卓的整体音频架构