我经常使用耳机,来选择是使用耳机还是普通声卡我使用环境变量,这要归功于 ~/.asound.rc 中的这段代码:
@args.CARD {
type string
default {
@func getenv
vars {
0 ALSA_CARD
}
default {
@func refer
name 'defaults.pcm.card'
}
}
}
不幸的是,新耳机 (hw:Set) 有反转通道,所以我创建了一个 pcm 来修复,将这些行添加到 ~/.asoundrc:
pcm.swapped {
type route
slave {
pcm "hw:Set"
}
ttable.0.1 1
ttable.1.0 1
}
pcm.HeadsetSwapped {
type plug
slave {
pcm "pcm.swapped"
}
}
pcm 有效,但我如何决定通过环境变量使用它?目前 env 变量只接受卡名。它可能与 --name 'defaults.pcm.card' -- 行有关,但我无法修复它。
我知道我可以将 pcm.HeadsetSwapped 更改为 pcm.!default,但我想避免每次要启动程序时都编辑文件...