PulseAudio - 同時輸出 - 添加兩個設備
我正在觀看如何向 PulseAudio 添加同步模式支持的範例。該範例顯示瞭如何僅添加一個硬體設備:
### Load analog device load-module module-alsa-sink device=hw:0,0 load-module module-combine-sink sink_name=combined set-default-sink combined
我的問題是如何添加兩個(或更多)設備以及如何添加虛擬設備?
編輯:
我嘗試了結合兩個接收器的指令:
$pacmd load-module module-combine-sink sink_name=combined2 sink_properties=device.description="Combined with a null sink" slaves=combined,MyTestSink
但我得到了錯誤
Module load failed
。語法有問題,或者這裡還有什麼問題?我combined and MyTestSink
在 的輸出中有名稱$pacmd list-sinks
。
該範例看起來不完整。您可以使用該
slaves
選項將多個接收器添加到組合接收器:load-module module-combine-sink sink_name=combination-sink sink_properties=device.description=myCombinationSink slaves=sink1,sink2[,...] channels=2
where
sink1
etc. 是您要組合的接收器。此外,通常您不需要為 ALSA 硬體載入模組,它們應該自動載入。
用於
list-sinks
獲取可用接收器的列表(pavucontrol
如果您更喜歡 GUI,則使用)。編輯
hw:0,0
是設備的ALSA名稱。這些module-alsa-*
模組使 ALSA 設備可用作Pulseaudio源和接收器。當您使用引用現有源/接收器的其他 Pulseaudio 模組時,您當然會使用 Pulseaudio 名稱(參見pacmd list-sinks
等,沒有尖括號)。ALSA 名稱在 Pulseaudio 中不相關。我不確定您所說的“虛擬設備”是什麼意思。Pulseaudio 有各種不同類型的源和匯。其中一些對應於通過 ALSA 可用的物理硬體,其中一些對應於網路上的流式音頻,其中一些對應於物理藍牙設備(不是通過 ALSA),還有一些兩者都不是。Pulseaudio 不在乎它們是什麼,它們只是源和匯,沒有一個被稱為“虛擬”。
編輯
我係統上的接收器名稱:
$ pacmd list-sinks | grep name: name: <alsa_output.pci-0000_00_1b.0.analog-stereo> name: <alsa_output.usb-Roland_UA-25EX-00.analog-stereo> $ pactl list short sinks 0 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE 1 alsa_output.usb-Roland_UA-25EX-00.analog-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING
所以,在我的系統上:
pacmd load-module module-combine-sink sink_name=combined sink_properties=device.description=CombinedSink slaves=alsa_output.pci-0000_00_1b.0.analog-stereo,alsa_output.usb-Roland_UA-25EX-00.analog-stereo
重複一遍:不,您不能使用
hw:1
Pulseaudio 之類的名稱。這些是通過ALSA 庫訪問的ALSA 設備的****ALSA 名稱。您可以在 Pulseaudio 中的一個地方使用它們,即當載入 ALSA 模組(或)時,使 ALSA 設備可用於 Pulseaudio。在其他任何地方,您都使用從上面的列表命令獲得的 Pulseaudio 接收器名稱(或通過載入提供接收器的模組並為其命名)。module-alsa-devices``module-aslsa-card``module-null-sink
編輯
我不確定您所說的“絕對名稱”是什麼意思。該名稱是提供接收器的模組選擇設置的任何名稱。它通常可以在載入模組時指定為參數,也可以在未指定時由模組選擇,就像在 Pulseaudio 時預設載入模組時為 ALSA 接收器(使用硬體位置)所做的那樣開始。但這一切都無關緊要:只要看看你有什麼水槽,然後使用正確的水槽。如果您載入其他模組,請命名接收器,如果您願意的話。