我需要编写一个~/.asoundrc
文件来配置一些音频设备,因为我需要能够从这些设备中选择单个通道。
因为我对 alsa 不太有经验,所以我开始寻找该主题的简介。它指出基本.asoundrc
文件如下所示:
pcm.!default {
type hw
card 0
}
ctl.!default {
type hw
card 0
}
Run Code Online (Sandbox Code Playgroud)
但我不知道这个ctl
选项有什么用。我在ALSA 文档中找到的内容仍然没有向我清楚地解释:
“pcm”选项影响哪个卡和设备将用于音频播放,而“ctl”选项影响控制实用程序(如 alsamixer)使用哪个卡。
pcm
和 和有什么区别ctl
?他们的目的是什么?什么时候使用哪一个?
更新
我现在可以在同一设备上但通过两个不同的通道播放不同的音频流:
pcm.USB_hw{
type hw
format S16_LE
rate 48000
card 2
device 0
subdevice 0
channels 2
}
pcm.USB_dmix{
type dmix
ipc_key 1111
slave.pcm "USB_hw"
hint {
description "Direct sample mixing device"
}
}
pcm.OUTPUT0 {
type plug
slave.pcm {
type route
slave.pcm "USB_dmix"
ttable{
0.0 0
1.1 1
}
hint {
description "Playback channel 0 over USB"
}
}
}
pcm.OUTPUT1 {
type plug
slave.pcm {
type route
slave.pcm "USB_dmix"
ttable {
0.0 1
1.1 0
}
hint {
description "Playback channel 1 over USB"
}
}
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我无法OUTPUT0
访问. 此访问权限可能是在选项中配置的,但我从未使用过。 OUTPUT1
alsamixer
ctl
问题是如何配置ctl
以便这些插件将显示在alsamixer
?
有可能吗?
归档时间: |
|
查看次数: |
7757 次 |
最近记录: |