2026/1/8 6:06:39
网站建设
项目流程
长春网站建设公司哪个好,上海建网站多少钱,网站做菠菜,农业展示网站模板下载在 ALSA#xff08;Advanced Linux Sound Architecture#xff09;中#xff0c;card 和 device 是音频硬件的两个核心概念#xff0c;用于标识系统中的声卡及其内部的子设备。
card#xff08;声卡#xff09;
card 表示一块声卡的逻辑实体#xff0c;可以是物理声卡Advanced Linux Sound Architecture中card 和 device 是音频硬件的两个核心概念用于标识系统中的声卡及其内部的子设备。card声卡card 表示一块声卡的逻辑实体可以是物理声卡也可以是虚拟声卡如 Loopback。每块声卡都有一个 card number卡号通常从 0 开始。一块 card 下面可以有多个独立的音频接口。你可以通过命令查看系统中的 cardcat/proc/asound/cards示例输出可能是0[PCH]: HDA-Intel - HDA Intel PCH1[Loopback]: Loopback - Loopbackdevice设备device 是 card 下的子设备代表具体的音频通道或接口例如播放设备PCM playback或录音设备PCM capture。每个 device 也有自己的编号从 0 开始。一块声卡下可能存在多个设备例如device 0主 PCM 设备device 1次要 PCM 设备device 2MIDI 接口等查看设备cat/proc/asound/devicescard 与 device 的组合使用在 ALSA 的配置或程序如 aplay, arecord中可以用 hw:card,device 指定音频接口。示例使用 card0的 device0播放 aplay -D hw:0,0 test.wav 使用 card1的 device0录音 arecord -D hw:1,0 -fcdtest.wav使用 aplay查看播放设备列表运行aplay -l你会看到类似card2: Device[USB Audio], device0: USB Audio[USB Audio]这里的地址就是 hw:2,0。. 使用 arecord查看录音设备列表arecord -l显示录音相关的设备同样以 card X, device Y 的格式呈现。使用 aplay -L 查看所有 ALSA 插件地址包括 hw、plughw、dmix 等复制aplay -L会列出比如hw:C2D0 plughw:2,0 dmix:CARD2,DEV0查看系统真实设备文件底层信息cat/proc/asound/cardscat/proc/asound/devices使用 amixer 查看设备的控制接口amixer -c2查询指定声卡例如 card2的信息。一、 ALSA 插件ALSA 插件就是 ALSA 的软件层接口用于在设备与应用之间完成各种功能我们可以把插件理解成滤波器filter。比如格式转换采样率、位深、通道数重采样将多个程序的声音混到一起将音频路由到指定设备抽象出虚拟声卡节省应用程序的复杂度插件是通过 .asoundrc 或 /etc/asound.conf 中的配置实现的。二、常见 ALSA 插件介绍hw 插件直接访问硬件设备例hw:2,0特点不做任何格式转换要求应用完全满足硬件参数音频参数最底层、最快应用要符合声卡的格式否则无法打开。plughw 插件包装 hw 的插件版可自动转换格式例plughw:2,0特点自动处理采样率、通道数、位深更灵活但性能稍低于 hw应用不需要自己处理格式转换dmix 插件最常用软件混音插件例dmix:CARD2,DEV0特点多进程可以同时播放混音不占用整个声卡桌面系统常用如果声卡不支持硬件混音这是必须的softvol 插件软件音量控制当声卡本身没有音量调节时使用。例加一个虚拟音量控制器。route 插件改变声道的映射。比如单声道复制成左右声道。9plug 插件自动选择格式转换插件的“万能包装器”。例plug:hw:0,0等同于 plug 转换 hw 输出。file 插件把音频输出到文件而不是声卡。null 插件丢弃所有音频数据就像 /dev/null。自定义 plug dmix 使用 hw:2,0pcm.mydevice{typeplug slave.pcm{typedmix ipc_key1024slave{pcmhw:2,0rate48000}}}