Как выводить уникальный звук на несколько портов / профилей карты PulseAudio?

Синтаксис выглядит так: su [имя пользователя] . Нажмите ввод, и теперь он запросит пароль для пользователя [имя пользователя]

3
31.10.2017, 00:05
1 ответ

Я использую GeForce RTX 2070 на Fedora 32 с подключенным HTC Vive. Часто, когда кто-то играет в VR, другие люди смотрят на монитор. Я настроил звук игры так, чтобы он шел как на Vive, так и на монитор.

Сначала найдите все аудиоустройства с помощью aplay -L, затем проверьте эти устройства, чтобы увидеть, какие из них подключены. Например, speaker-test -D hdmi:CARD=NVidia,DEV=1 -c2. Однако эта команда обнаружила странную ошибку в драйвере Nvidia :

.
$ speaker-test -D hdmi:CARD=NVidia,DEV=1 -c2 

speaker-test 1.2.3

Playback device is hdmi:CARD=NVidia,DEV=1
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 8544000
Period size range from 32 to 4272000
Using max buffer size 8544000
Periods = 4
Unable to set hw params for playback: Cannot allocate memory
Setting of hwparams failed: Cannot allocate memory

Явное задание меньшего размера буфера устраняет ошибку:

$ speaker-test -D hdmi:CARD=NVidia,DEV=1 -c2 -b10000

speaker-test 1.2.3

Playback device is hdmi:CARD=NVidia,DEV=1
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 8544000
Period size range from 32 to 4272000
Requested buffer time 10000 us
Periods = 4
was set period_size = 96
was set buffer_size = 480
 0 - Front Left
^C 1 - Front Right
Time per period = 0.438162

После того, как вы выяснили, какие выходы допустимы для устройства, явным образом добавьте их в pulseaudio, создав файл .config/pulse/default.pa. Описание устройства может быть любым. Вот мой файл:

load-module module-alsa-sink device=hdmi:CARD=NVidia,DEV=0 sink_properties="device.description='NVIDIA HDMI Vive'"
load-module module-alsa-sink device=hdmi:CARD=NVidia,DEV=1 sink_properties="device.description='NVIDIA HDMI monitor'"

.include /etc/pulse/default.pa

Перезапустите pulseaudio, запустив systemctl --user restart pulseaudio.service, затем убедитесь, что устройства отображаются в pavucontrol. Наконец, используйте paprefs, чтобы включить одновременный вывод на все аудиоустройства.

1
05.09.2020, 23:45

Теги

Похожие вопросы