Как выбрать звуковую карту по умолчанию с alsa?

Я хочу выбрать звуковую карту по умолчанию или отключить все остальные, чтобы выбрать правильную звуковую карту после приостановки.

7
задан 14 June 2012 в 19:18

4 ответа

Это способ динамической установки звуковой карты по умолчанию с помощью PulseAudio (не ALSA).

  1. Проверить список источников и приемников

    $ 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
    
  2. Установить значения по умолчанию:

    $ 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

0
ответ дан 14 June 2012 в 19:18

Я лично использую alsamixer

alsamixer

Нажмите F6, чтобы выбрать звуковую карту.

enter image description here

0
ответ дан 14 June 2012 в 19:18

Поскольку у меня нет 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)

0
ответ дан 14 June 2012 в 19:18

Найдите нужную карту с помощью:

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

11
ответ дан 15 January 2020 в 20:58

Другие вопросы по тегам:

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