Как заставить программное обеспечение master volume control в PulseAudio?

У меня есть звуковая карта отсутствует аппаратный регулятор громкости (Creative Sound Blaster X-Fi Surround 5.1 подключен на USB). Еще PulseAudio так кажется, что у него есть аппаратный регулятор громкости. Когда я регулирую громкость master с pavucontrol ничего не происходит. Как заставить его сделать мастер регулировки громкости в программном обеспечении? (Я не хочу использовать softvol в ALSA в дополнение к PulseAudio, так как это увеличит задержку, и я знаю, что PulseAudio все равно микширует программное обеспечение).

Я использую PulseAudio 5.0.

26
задан Watcom
31.01.2023 16:53 Количество просмотров материала 2640
Распечатать страницу

2 ответа

аналогичная ситуация с звуковой картой EMU 0202 USB. Alsa показывает" PCM " микшерный пульт, который на самом деле ничего не делает, кроме отключения звука устройства.

$ amixer -C с USB

Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 200
  Mono:
  Front Left: Playback 200 [100%] [0.00dB] [on]
  Front Right: Playback 200 [100%] [0.00dB] [on]

флаг hw_volume_ctrl раковины pulseaudio поступает из путей ALSA-mixer, настроенных для профиля по умолчанию-set:

/usr/share/pulseaudio/alsa-mixer/пути/аналоговый выход.конф.common

[Element PCM]
switch = mute
volume = merge

вы можете сказать pulseaudio игнорировать его, и pulseaudio будет контролировать громкость в программном обеспечении вместо этого, используя что-то вроде:

/usr/доли/с PulseAudio/алса-микшер/пути/эму-USB-выхода.conf

[Element PCM]
switch   = mute
volume   = ignore

/usr/доли/пакет/алса-микшер/профиль-наборы/эму-USB-кабеля.conf

[General]
auto-profiles = yes

[Mapping emu-usb-stereo]
device-strings = hw:%f
channel-map = left,right
paths-output = emu-usb-output

затем скажите pulseaudio использовать ваш индивидуальный профиль для этой конкретной карты, используя либо udev ENV{PULSE_PROFILE_SET}=emu-usb.conf правило или загрузка alsa-карты вручную:

в/etc/пульс/системы.па

load-module module-alsa-card device_id=USB name="emu-usb" card_name="emu-usb" profile_set=emu-usb.conf profile="output:emu-usb-output" ...

в результате вместо alsa_output.emu-usb.emu-usb-stereo раковина без флага HW_VOLUME, и нормальный регулятор громкости импульса работает от приложений alsa.

4
отвечен Tero Marttila 2023-02-02 00:41

решение, которое, кажется, легче сделать и поддерживать для драйвера USB, было найдено в ArchWiki (снова): https://wiki.archlinux.org/index.php/PulseAudio#Keyboard_volume_control

найдите метку раковины (int) с помощью:

pactl list sinks short

тогда вы можете контролировать громкость и отключить раковину, соответствующую драйверам USB (предположим, 1) с:

sh -c "pactl set-sink-mute 1 false ; pactl set-sink-volume 1 +5%"

наконец, вы можете добавить эти команды в свои системные ярлыки (или псевдоним) для управления громкостью с клавиатуры в любом месте.

0
отвечен dtrckd 2023-02-02 02:58

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх