Linux音频问题

本文主要介绍了Linux系统下的音频管理,包括使用alsactl工具进行声卡状态的保存和恢复,以及ALSA配置文件的基本语法和配置文件(/etc/asound.conf)的格式。重点探讨了如何通过alsaunmute初始化ALSA声音设备,解决音频调节问题。
摘要由CSDN通过智能技术生成

关键字: 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值