我经常使用耳机,选择使用耳机还是 普通声卡我使用环境变量谢谢 ~/.asound.rc 中的这段代码:
@args.CARD {
type string
default {
@func getenv
vars {
0 ALSA_CARD
}
default {
@func refer
name 'defaults.pcm.card'
}
}
}
不幸的是,新耳机 (hw:Set) 有反向 channel ,所以我 创建了一个 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 有效,但我如何决定通过环境使用它 多变的?目前环境变量只接受卡片名称。 它可能是围绕着 -- name 'defaults.pcm.card' -- 行,但我无法修复它。
我知道我可以将 pcm.HeadsetSwapped 更改为 pcm.!default, 但我想避免每次都编辑文件 我想启动一个程序...
最佳答案
使用这样的东西,并将环境变量 MY_DEVICE
设置为 hw
或 swapped
:
pcm.!default {
type plug
slave.pcm {
@func getenv
vars [ MY_DEVICE ]
default "hw"
}
}
pcm.swapped {
type route
slave.pcm "hw:Set"
ttable.0.1 1
ttable.1.0 1
}
关于linux - 通过环境变量选择默认的 alsa PCM(不是卡),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17105845/