Android 专用术语包括仅在 Android 音频框架中使用的术语,以及在 Android 中具有特殊意义的通用术语。
ALSA
高级 Linux 声音体系。Linux 的音频框架,对其他系统也有影响。要了解通用定义,请参阅 ALSA。在 Android 中,ALSA 指的是内核音频框架和驱动程序,而不是用户模式 API。另请参阅“tinyalsa"。
音频设备
以 HAL 实现为基础的音频 I/O 端点。
AudioEffect
用于输出(处理后)音效与输入(处理前)音效的 API 和实现框架。该 API 在 android.media.audiofx.AudioEffect 中定义。
AudioFlinger
Android 声音服务器实现用例。AudioFlinger 在 mediaserver 进程中运行。要了解通用定义,请参阅声音服务器。
音频焦点
跨多个独立应用管理音频互动的 API 集。如需了解详情,请参阅管理音频焦点以及 android.media.AudioManager 的与焦点相关的方法和常量。
AudioMixer
AudioFlinger 中的模块,负责合并多个音轨以及应用衰减(音量)和音效。要了解通用定义,请参阅混音(录制的音乐)(将混合器当做一个硬件设备或软件应用而非系统中的软件模块)。
音频政策
负责所有需要先做出政策决策的操作的服务,例如打开新的 I/O 音频流、更改后重新路由,以及音频流音量管理。
AudioRecord
用于从麦克风等音频输入设备接收数据的主要低级别客户端 API。相应数据通常为 PCM 格式。该 API 在 android.media.AudioRecord 中定义。
AudioResampler
AudioFlinger 中的模块,负责采样率转换。
音频来源
一个常量枚举,用于为捕获音频输入指明目标使用情形。如需了解详情,请参阅音频来源。对于 21 级及以上级别的 API,建议使用音频属性。
AudioTrack
用于向音响设备等音频输出设备发送数据的主要低级别客户端 API。相应数据通常为 PCM 格式。该 API 在 android.media.AudioTrack 中定义。
audio_utils
提供 PCM 格式转换、WAV 文件 I/O 以及非阻塞 FIFO 等功能的音频实用程序库,很大程度上独立于 Android 平台。
客户端
通常指一个应用或应用客户端。不过,AudioFlinger 客户端可以是一个在 mediaserver 系统进程中运行的线程,例如,播放由 MediaPlayer 对象解码的媒体内容时。
HAL
硬件抽象层。HAL 在 Android 中是通用术语;涉及音频时,它是介于 AudioFlinger 和内核设备驱动程序之间的一个层,具有一个 C 语言编写的 API(取代了 C++ libaudio)。
FastCapture
AudioFlinger 中的线程。经配置,它会向延迟时间较短的 fast track 发送音频数据,并驱动输入设备的运行,以缩短延迟时间。
FastMixer
AudioFlinger 中的线程。经配置,它会从延迟时间较短的 fast track 接收并混合音频数据,同时驱动主要输出设备的运行,以缩短延迟时间。
fast track
部分设备和路由中具有较短延迟时间但功能较少的 AudioTrack 或 AudioRecord 客户端。
MediaPlayer
比 AudioTrack 级别更高的客户端 API,播放已编码的内容或包含多媒体音频和视频轨道的内容。
media.log
仅在定制版本中提供的 AudioFlinger 调试功能。用于在环形缓冲区中记录音频事件,然后可以根据需要倒回去撤消这些活动。
mediaserver
Android 系统进程,包含 AudioFlinger 等与媒体相关的服务。
NBAIO
非阻塞音频输入/输出,AudioFlinger 端口的抽象表示。此术语有一定的歧义,因为部分 NBAIO API 实现用例支持阻塞。NBAIO 的主要实现用例适用于不同的管道类型。
常规混合器
AudioFlinger 中的线程,可用于大部分功能完善的 AudioTrack 客户端。它能直接驱动输出设备的运行,或通过管道将其子混音输入 FastMixer。
OpenSL ES
Khronos 集团推行的音频 API 标准。API 级别为 9 或更高级别的 Android 版本都支持原生音频 API(基于 OpenSL ES 1.0.1 的部分标准)。
静音模式
可由用户设置、用于将手机振铃器和通知设为静音而不会影响媒体内容播放(音乐、视频和游戏)或闹钟的功能。
SoundPool
比 AudioTrack 级别更高的客户端 API,可播放通过采样得到的音频片段,适用于触发界面反馈、游戏音效等。该 API 在 android.media.SoundPool 中定义。
Stagefright
请参阅媒体。
StateQueue
AudioFlinger 中的模块,负责同步线程之间的状态。NBAIO 用于传递数据,而 StateQueue 用于传递控制信息。
策略
具有类似行为的音频流类型构成的组,用于音频政策服务。
音频流类型
表示音频输出使用情形的枚举。音频政策的实现用例会根据音频流类型以及其他参数来确定音量和路由决策。要查看音频流类型的列表,请参阅 android.media.AudioManager。
tee sink
请参阅音频调试。
tinyalsa
ALSA 内核之上采用 BSD 许可的小型用户模式 API。建议用于实现 HAL。
ToneGenerator
比 AudioTrack 级别更高的客户端 API,用于播放双音多频 (DTMF) 信号。如需了解详情,请参阅双音多频信号和 android.media.ToneGenerator 处的 API 定义。
音轨
音频流。由 AudioTrack 或 AudioRecord API 控制。
音量衰减曲线
对于给定输出,音量衰减曲线指从通用音量指数到特定衰减因数的设备专属映射。
音量指数
表示某个音频流的目标相对音量的整数(没有单位)。android.media.AudioManager 的音量相关 API 在运行时采用音量指数(而非绝对的衰减因数)。