关键字: alsa, pulseaudio, gnome, gnome-volume, 右下角,喇叭,音量
alsactl, alsa-utils, pulseaudio-utils
一、音频调节工具
alsaunmute (alsa-utils) 是一个脚本,用于初始化ALSA声音设备。它调用了alsactl,并且以init为参数。它没有任何参数,直接就是:
$ alsaunmute
它的内容如下:
#!/bin/sh
exec /sbin/alsactl \
-E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf \
--initfile=/lib/alsa/init/00main \
init
alsactl 是alsa系统最重要的工具,它主要用于对alsa的声卡进行控制。它支持多块声卡,
如果你的声卡的功能不能在图形界面中进行控制,那么你就应该使用这个 alsactl 工具。
alsa最主要的三个用法如下:
1)alsactl store 命令将当前声卡的驱动程序状态保存到一个配置文件(默认是/etc/asound.state, 可以用 -f 来指定)中去;
2)alsactl restore 则从这个配置文件恢复原来的声卡驱动状态。
3)alsactl init 将声卡的状态初始化为默认状态。
二、配置文件语法
三、ALSA配置文件(/etc/asound.conf)的格式
# 从#开始的地方是注释
# 把其他配置文件包含进来
<filename>
# 简单赋值语句
name [=] value [,|;]
# 结构体赋值 (第一种风格)
name [=] {
name1 [=] value [,|;]
...
}
# 结构体赋值 (第二种风格)
name.name1 [=] value [,|;]
# 数组赋值 (第一种风格)
name [
value0 [,|;]
value1 [,|;]
...
]
# 数组赋值 (第二种风格)
name.0 [=] value0 [,|;]
name.1 [=] value1 [,|;]
# ******************************************************************************
# 对服务器的定义
server.NAME {
host STR # host where the server is located (if map to local address
# server is local, and then it may be started automatically)
[socket STR] # PF_LOCAL socket name to listen/connect
[port INT] # PF_INET port number to listen/connect
}
# PCM类型定义
pcm_type.NAME {
[lib STR] # 共享库文件 (默认 libasound.so)
[open STR] # 打开函数 (默认 _snd_pcm_NAME_open)
[redirect { # 将这个PCM重定向到另一个PCM
[filename STR] # 配置文件说明
name STR # PCM名称说明
}]
}
# PCM范围类型定义
pcm_scope_type.NAME {
[lib STR] # 共享库文件 (默认 libasound.so)
[open STR] # 打开函数 (default _snd_pcm_scope_NAME_open)
}
# PCM 范围定义
pcm_scope.NAME {
type STR # Scope type
...
}
# 从属 PCM 定义
pcm_slave.NAME {
pcm STR # PCM name
#or
pcm { } # PCM definition
format STR # Format
channels INT # Channels
rate INT # Rate
period_time INT # Period time
buffer_time INT # Buffer time
etc.
}
# Hook arguments definition
hook_args.NAME {
... # Arb