Alsa-lib配置文件中的运行参数 解释
alsa库可以接受某些配置块的运行时参数。此扩展名建立在基本的配置文件语法之上。
定义参数
参数定义是使用id值 @args和包含参数的字符串名称的数组值来定义的:
@args [ CARD ] # or
@args.0 CARD
定义参数类型和默认值
参数的类型由id(键)@args和参数名称指定。类型和默认值将在复合块中指定:
@args.CARD {
type string
default "abcd"
}
引用参数
用$引用变量
card $CARD
简单数学表达式
简单的数学表达式是使用类似的表达式语法来识别的,有美元符号($)和括号([):
card "$[$CARD + 1]"
使用
要使用带有参数的块,请在键后面写入参数值,用冒号(:)分隔。例如,pcm接口的所有这些名称都给出了相同的结果:
hw:0,1
hw:CARD=0,DEV=1
hw:{CARD 0 DEV 1}
plug:"hw:0,1"
plug:{SLAVE="hw:{CARD 0 DEV 1}"}
如您所见,参数可以按其正确的顺序或按名称来指定。注意,大括号中的参数解析方式与配置文件中的参数解析相同,但默认情况下使用覆盖方法。
example
pcm.demo {
@args [ CARD DEVICE ]
@args.CARD {
type string
default "supersonic"
}
@args.DEVICE {
type integer
default 0
}
type hw
card $CARD
device $DEVICE
}