更改卡的设备描述

更改卡的设备描述

snd_aloop在我的设置中添加了一个设备,PulseAudio 自动拾取它并将其列为“音频内部”(参见例如“pavucontrol配置”选项卡),与我的常规声卡相同,这使得理解事情变得困难。

这个问题标题类似,但实际上它们正在处理源和接收器的名称,我可以更改这些名称以满足我的需要。但我也想更改卡本身的名称,因为某些应用程序直接引用它而不是接收器/源。

然而,虽然我可以使用 获得device.description该卡的pacmd list-cards,但我找不到等效的方法pacmd update-card-proplist来更改它。

也许这是在 alsa 而不是pulseaudio 中设置的?该设备Loopback在 中列出/proc/asound/,这个名称适合我的需要。

卡名称已本地化为法语,因此我认为它不是内置默认值。我在 /usr/ 和 /etc/ 中文本搜索该字符串,但无济于事。我不知道系统从何而来这个名字。

答案1

我检查了pulseaudio源代码,发现pavucontrol配置选项卡上显示的卡名称来自名为“ID_MODEL_FROM_DATABASE”的属性,您可以通过udev规则设置该属性。例如,要为连接到给定 USB 端口的任何 USB 声卡设置特定名称:

/etc/udev/rules.d/85-identify-usb-sound-cards.rules

SUBSYSTEM!="sound", GOTO="pa_naming_end"
ACTION!="change", GOTO="pa_naming_end"
KERNEL!="card*", GOTO="pa_naming_end"

DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.2/3-1.2:1.0/sound/card?", ENV{ID_MODEL_FROM_DATABASE}="FT-2900 Audio"

LABEL="pa_naming_end"

结果(我的设置涉及多个 USB 音频接口): pavucontrol 配置选项卡

答案2

pavucontrol如果 Pulseaudio 加载了模块设备管理器,则可以在 Pulseaudio () 中更改设备名称

检查模块是否已加载 -pactl list short modules | grep device-manager

如果需要添加的话——pactl load-module module-device-manager

如果模块管理器已加载,可以右键单击“端口:”下拉菜单来重命名设备

在此输入图像描述

答案3

某种解决方案:删除现有的接收器/卡,然后使用所选名称重新创建一个新的接收器/卡...

  1. 删除接收器/卡:通过卸载模块(获取接收器/设备名称使用的模块):

$ pactl list sinks

姓名: ...

描述: ...

所有者模块:19 <-- 这里

  1. 然后,通过卸载该模块来“删除”(禁用)此类接收器:

$ pactl unload-module 19

  1. 获取卡片名称:

$ pacmd list-cards

  1. 创建新接收器:

$ pacmd load-module module-remap-sink master=[card-NAME] channels=2 channel_map=front-left,front-right sink_name=[SOME-sink-NAME] sink_properties=device.description=[SOME-NAME-pavucontrol]

相关内容