alsa-utils 提供的工具中,arecord 可以用来录音,aplay 可以用来播放,amixer 可以用来控制音量、增益等。
/ # amixer controls
numid=34,iface=MIXER,name='Master Switch'
numid=35,iface=MIXER,name='Master Switch X'
numid=32,iface=MIXER,name='Master Volume'
numid=33,iface=MIXER,name='Master Volume X'
...
可以通过amixer controls 列出alsa下面的控制节点
/ # amixer cget name='Master Volume'
numid=32,iface=MIXER,name='Master Volume'
; type=INTEGER,access=rw------,values=1,min=0,max=100,step=0
: values=100
要查看Master Volume 这个节点更详细的信息,可以输入 amixer cget name='节点名称'
这个节点名称是相关驱动注册,添加到alsa驱动框架中生成的,并不一定是固定的名称。
/ # amixer cset name='Master Volume' 80
numid=32,iface=MIXER,name='Master Volume'
; type=INTEGER,access=rw------,values=1,min=0,max=100,step=0
: values=80
通过amixer cset 命令可以修改节点的值,amixer cset name='节点名称' (新的值)
通过代码实现如下
#include <stdio.h>
#inclu
使用教程:深入探索alsa amixer 控制音频

本文介绍了alsa-utils中的amixer工具,用于控制音量和增益。你可以通过'amixer controls'列出控制节点,使用'amixer cget'获取特定节点如'Master Volume'的详细信息,节点名称由驱动注册决定。调整节点值可通过'amixer cset'命令,例如'amixer cset name='节点名称' 新值'。此外,文中还提到了两种不同的实现方式。
最低0.47元/天 解锁文章
1753

被折叠的 条评论
为什么被折叠?



