У меня есть установка парного монитора с каждым монитором, способным к проигрыванию аудио, подключенного к единственному RX5700XT GPU.
Прямо сейчас я могу выбрать любой из настроек Sound, чтобы быть Устройством вывода.
То, что я пытаюсь сделать, должно объединить два в одно Устройство вывода, таким образом, я могу играть аудио с двумя мониторами одновременно. Что самый легкий путь состоит в том, чтобы достигнуть этого?
Спасибо.
В первую очередь, скопируйте свою конфигурацию PulseAudio $sudo cp /etc/pulse/default.pa /etc/pulse/default.pa.bak
После того как это сделано, мы проверим наш список аппаратных устройств воспроизведения и примем во внимание тех, мы ищем использование $ aplay -l
. Ваш вывод должен быть похожим на это:
Примите во внимание идентификатор Карты И идентификатор Устройства выводов, которые Вы хотите снизить вместе. Теперь мы попытаемся сделать новый приемник для каждого из тех выводов с помощью модуля alsa-приемника (необходимо действительно перейти по этой ссылке). Откройте любой текстовый редактор и скопировать/вставить:
load-module module-alsa-sink device="hw:[CARD_ID],[DEVICE_ID]" sink_name=vsink_[CARD_ID][DEVICE_ID] sink_properties="device.description='HDMI [DEVICE_ID] VSINK' device.icon_name='audio-card'"
Изменитесь [CARD_ID]
и [DEVICE_ID]
с теми Вы обратили внимание на последнем шаге. У Вас должно быть столько же строк этого кода сколько выводы, которые Вы хотите объединить с их соответствующим CARD_ID
и DEVICE_ID
.
После того как этот шаг сделан, мы будем использовать модуль приемника объединения (необходимо следовать за этим также), таким образом, мы можем "склеить" наши выводы. Скопируйте и вставьте это в своем редакторе:
load-module module-combine-sink sink_name=combined_vsink slaves=[first vskink name],[second vsink name],[n vsink name] sink_properties="device.description='[a name for your combined vsink' device.icon_name='audio-card-symbolic'"
В конце у Вас должно быть что-то вроде этого:
После того как Вам сделали Вашу конфигурацию, мы должны будем загрузить ее в конфигурацию PulseAudio (мы сделали резервное копирование из нее как первая вещь). Откройте его для редактирования использования gedit admin:///etc/pulse/default.pa
и поиск этого раздела:
### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
#load-module module-alsa-sink
...
...
Вы разделяете, мои имеют пару более прокомментированных строк, если Вы никогда не редактировали этот файл прежде. Прямо после последней строки того раздела, вставьте свои строки. Рев Вы найдете мои ложные способом, которым Ваш файл должен быть похожим после вставки:
### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
load-module module-alsa-sink device="hw:0,0" sink_name=vsink_00 sink_properties="device.description='HDMI0:0 VSINK' device.icon_name='audio-card'"
load-module module-alsa-sink device="hw:0,1" sink_name=vsink_01 sink_properties="device.description='HDMI0:1 VSINK' device.icon_name='audio-card'"
load-module module-combine-sink sink_name=combined_vsink0 slaves=vsink_00,vsink_01 sink_properties="device.description='HDMI0:0 + HDMI0:1' device.icon_name='audio-card-symbolic'"
Теперь, когда мы сделали это, чтобы это последовательно работало, мы должны будем деактивироваться, PulseAudio udev-обнаруживают модуль (это - последнее, я обещаю), таким образом, это не переопределяет изменения, которые мы сделали вручную при попытке настроить систему. Вы найдете раздел как этот, удостоверьтесь, что прокомментировали все его строки:
### Automatically load driver modules depending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Use the static hardware detection module (for systems that lack udev support)
#load-module module-detect
#.endif
Теперь, для окончания нашего редактирования просто установите новый приемник как по умолчанию в самой последней строке файла:
set-default-sink combined_vsink0
Сохраните файл и затем давайте перезапустим PulseAudio и проверку, если все работает с помощью pulseaudio --kill && pulseaudio --start
и затем удостоверьтесь, что проверили, установлены ли Ваши уровни прямо в alsamixer
поскольку это иногда загружает новые выводы, отключенные звук по умолчанию. После того как Вы сделаны, проверьте свои параметры настройки системы для выбора недавно созданного вывода.
При направлении с какими-либо проблемами можно всегда возвращаться конфигурация PulseAudio с помощью файла резервной копии, я уверен, что Вы создали как свой первый шаг.
Это может быть достигнуто путем создания нового приемника, объединяющего два других приемника (звуковые карты) Используя импульсный аудио CLI.
сначала получите название приемников:
pacmd list-sinks
затем создайте новый приемник
pacmd load-module module-combine-sink sink_name=combined slaves=sink1-name,sink2-name
Где sink1-имя и sink2-имя являются названиями Ваших приемников в выводе от первой команды
у Вас должен теперь быть новый приемник, который можно выбрать для вывода звука к обоим устройствам
Упрощая блестящий принятый ответ, скопируйте и вставьте следующую функцию:
# $@: List of sinks to combine, as `CARD_ID:DEVICE_ID`
__os_audio_sinks_combine() {
unset sink_names
for i; do
curr_sink_id="${i%%:*}"
curr_device_id="${i#*:}"
curr_device_name="hw:${curr_sink_id},${curr_device_id}"
curr_sink_name="vsink_${curr_sink_id}${curr_device_id}"
test -n "${sink_names}" && sink_names="${sink_names},"
sink_names="${sink_names}${curr_sink_name}"
curr_device_desc="HDMI ${curr_device_id} VSINK"
echo "load-module module-alsa-sink device=\"${curr_device_name}\" sink_name=${curr_sink_name} sink_properties=\"device.description='${curr_device_id}' device.icon_name='audio-card'\""
done
echo "load-module module-combine-sink sink_name=combined_vsink slaves=${sink_names} sink_properties=\"device.description='comb_vsink' device.icon_name='audio-card-symbolic'\""
}
Затем, как указано выше, (1) сделайте резервную копию конфигурации, (2) найдите соответствующие приемники, которые вы хотите объединить, ( 3) сгенерируйте конфигурацию (она автоматически копируется в буфер обмена с помощью xclip
) и (4) отредактируйте, как указано выше:
sudo cp /etc/pulse/default.pa /etc/pulse/default.pa.bak
aplay -l
__os_audio_sinks_combine 0:9 0:10 | xclip -sel clipboard
sudo editor /etc/pulse/default.pa