嵌入式Android音频系统(二)Android音频系统的专用名词解释

对于Android音频系统学习时可能会出现许多名词,这些词光看字面意思可能无法直接理解,为了更好的对Android系统进行学习,特开一章对Android音频系统会出现的名词进行解释,欢迎大家补充。

本专栏将对Android音频系统进行更细致的阐述,同时这些也是我的学习笔记,如有错误欢迎大家在评论区批评指正,谢谢大家。

本专栏的学习资料来源:

本专栏的学习资料主要来自韦东山老师的Android音频系统,需要完整资料的同学,可前往韦东山老师课程观看,支持正版

一、名词解释

stream type

app要播放声音, 要指定声音类型: stream type
嵌入式Android音频系统(二)Android音频系统的专用名词解释_第1张图片

strategy

将各类型的声音中具有相同行为的声音类型聚在一起分为一个类,叫做strategy。

相同行为:播放的设备(device)一样、优先级一样等
有那么多的类型, 来来来, 先看它属于哪一类(策略): 使用getStrategy()函数获知声音属于strategy,如下图,每一个红框就是一类(strategy)。
嵌入式Android音频系统(二)Android音频系统的专用名词解释_第2张图片

声卡:

声卡 (Sound Card)也叫音频卡(港台称之为声效卡),是计算机多媒体系统中最基本的组成部分,是实现声波/数字信号相互转换的一种硬件。

一个声卡包含多个device(喇叭、耳机还是蓝牙)

设备结点

用户空间和内核空间的通信节点

用户进程与内核下的硬件进行通信需要建立一个设备节点,设备节点使得用户可以与内核进行硬件的沟通,读写设备以及其他的操作。
在linux里面设备就像是普通文件一样的存在,访问一个设备就好像是访问一个文件一样。
主设备号代表着一类设备次设备号代表着同一类设备的不同个体
Linux声卡设备节点:下面每一行代表一个设备节点
嵌入式Android音频系统(二)Android音频系统的专用名词解释_第3张图片
一个设备结点包含多个device

device(硬件):

根据strategy确定要用什么设备播放: device, 喇叭、耳机还是蓝牙?
Android系统里使用hardware module来访问硬件, 比如声卡,声卡上有喇叭、耳机等等,称为device。
嵌入式Android音频系统(二)Android音频系统的专用名词解释_第4张图片
更详细的看哪些是device可看这篇文章:输出、输入设备

output(硬件):

配置,用于描述现在可以支持哪些device,以及该output的采样率、通道数等。

为了便于管理, 把一个设备上具有相同参数(采样率等)的一组device称为output。
*:这组device在同一硬件的不同端口。

profile

配置,用于描述output本可以支持哪些device,以及该output的采样率、通道数等。

output和profile异同:

output描述现在,profile描述本可以,如profile配置里output本可以支持耳机,但现在耳机没插,因此output中就没有耳机。

module:

是一个硬件操作库。

Android系统里使用hardware module(硬件操作库)来访问硬件(包括output、device), 比如声卡

module产生了三个问题?
1、Android系统会根据module的名字打开对于的.so文件,那么系统如何知道module名字?
2、一个module能支持哪些output?
3、一个output能支持哪些device,具体参数是什么?

为了这三个问题,Android系统提供了/audio_policy.conf
使用配置文件/system/etc/audio_policy.conf来描述上面的三个问题

playbackthread

PlaybackThread:回放线程基类,同由 ThreadBase 派生

根据device确定output,进而知道对应的playbackthread,把声音数据传给这个thread
对于录制还有,RecordThread:录制线程类,由 ThreadBase 派生

policy

一个stream如何最终选择到一个device,这些stream type如何互相影响(一个高优先级的声音会使得其他声音静音),等等等, 统称为policy (政策)

out flag

一个输出的flag标识符

比如对于某个专业APP, 它只从HDMI播放声音, 这时就可以指定out flag为AUDIO_OUTPUT_FLAG_DIRECT,这会导致最终的声音无需混音即直接输出到对应的device
嵌入式Android音频系统(二)Android音频系统的专用名词解释_第5张图片

你可能感兴趣的:(android,linux,音频编码解码,移动开发,经验分享)