Я хочу выбрать звуковую карту по умолчанию или отключить все остальные, чтобы выбрать правильную звуковую карту после приостановки.
Это способ динамической установки звуковой карты по умолчанию с помощью PulseAudio (не ALSA).
Проверить список источников и приемников
$ pactl list short sources
0 alsa_output.pci-0000_00_1b.0.analog-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_input.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
2 combined.monitor module-combine-sink.c s16le 2ch 44100Hz SUSPENDED
$ pactl list short sinks
0 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING
1 combined module-combine-sink.c s16le 2ch 44100Hz IDLE
2 alsa_output.pci-0000_01_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING
Установить значения по умолчанию:
$ pactl set-default-source alsa_input.pci-0000_00_1b.0.analog-stereo
$ pactl set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo
Это Можно даже установить порты тоже. См. Как переключить вывод звука с помощью сочетания клавиш
Справочная информация: man pactl
Я лично использую alsamixer
alsamixer
Нажмите F6, чтобы выбрать звуковую карту.
Поскольку у меня нет Pulse, принятый ответ не подходит для таких, как я.
Это должно обеспечить приличное решение, которое работает только на ALSA.
У меня есть немного деталей, так как у меня есть 3 устройства (встроенный 2-канальный, видеокарта HDMI, PCI 5.1-канальный) в моей машине, причем мое предпочтительное устройство является последним.
для меня работало редактирование /etc/asound.conf
со следующим:
(ресурс: http://www.alsa-project.org/main /index.php/Asoundrc)
pcm.!default {
type hw
card 0
}
ctl.!default {
type hw
card 0
}
Если бы я интуитивно установил мое устройство по умолчанию как 2
, порядок перечисленных выше устройств изменился бы на это после перезапуска: [ 1118]
0: [CMI8738 ]
1: [Nvidia ]
2: [Nvidia_1 ]
с устройством по умолчанию 2.
(это продолжалось бы после каждой перезагрузки, и никакой перезапуск alsa не заставлял приложения воспроизводить аудио)
Чтобы остановить мою машину от троллинга, мне пришлось отредактировать /etc/modprobe.d/alsa-base.conf
и добавить следующую строку:
[ 1111] (ресурс (поиск по 6-му вхождению «порядка»): https://alsa.opensrc.org/MultipleCards#How_to_choose_a_particular_order_for_multiple_installed_cards )
options snd slots=snd-cmipci,
, что вызвало мое предпочтительное устройство в 0, поэтому карта по умолчанию будет соответствовать:
Надеюсь, мне больше никогда не придется трогать эти настройки, и это поможет другим, таким как я, которые не хотят иметь дело с PulseAudio удаление аудиопотоков.
(да, это означает, что плохо разработанные приложения, такие как Discord, не смогут идентифицировать ваши аудиоустройства без Pulse)
Найдите нужную карту с помощью:
cat /proc/asound/cards
, а затем создайте /etc/asound.conf
со следующими записями:
defaults.pcm.card 1
defaults.ctl.card 1
Замените 1
номером вашей карты, определенным выше.
Источник:
https://www.alsa-project.org/wiki/Setting_the_default_device