我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"
答案2
答案3
某種解決方案:刪除現有的接收器/卡,然後使用所選名稱重新建立新的接收器/卡...
- 刪除接收器/卡片:透過卸載模組(取得接收器/裝置名稱使用的模組):
$ pactl list sinks
姓名: ...
描述: ...
所有者模組:19 <-- 這裡
- 然後,透過卸載該模組來「刪除」(停用)此類接收器:
$ pactl unload-module 19
- 取得卡片名稱:
$ pacmd list-cards
- 建立新接收器:
$ 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]