Я купил звуковую карту USB. Я хотел бы настроить свой рабочий стол Linux так, чтобы он предпочитал USB-устройство, если оно подключено и автоматически переключается, когда устройство (не) подключено. Возможно ли это и как?
linux
usb
sound-card
alsa
debian-wheezy
Петр Пудлак
источник
источник
Ответы:
Найдите свою карточку с
Чтобы получить действительные имена карт ALSA, используйте
aplay
:и затем создайте
/etc/asound.conf
со следующим:Замените «карточка 1» номером или названием вашей карточки, указанным выше.
Кроме того, вы можете изменить порядок своих карт, чтобы ваша карта USB была картой 0 и работала без редактирования
asound.conf
.источник
defaults.pcm.card 1 defaults.ctl.card 1
конфигЭто метод выбора звуковой карты по умолчанию в Alsa. Возможно, вы захотите установить Alsa, чтобы этот метод работал, если вы используете Pulse Audio.
выведет список ваших звуковых модулей. Вывод команды будет таким (например):
Вы можете довольно легко понять, какая из них является вашей звуковой картой USB сверху.
отредактируйте этот alsa-base.conf таким образом, чтобы ваша предпочтительная карта имела индекс = -2 / 0, а другая карта имела индекс = -1 / 1 (придерживайтесь -2 и -1)
в этом случае USB-устройство является предпочтительным устройством.
если у вас есть две разные карты с одинаковым именем из выходных данных, например:
выполните эту команду, чтобы узнать, что есть что:
затем отредактируйте модули следующим образом:
может потребоваться перезагрузка. поэтому вам, возможно, придется вручную переключать звуковые карты.
источник
Я также не смог получить вывод с моего USB-устройства. Мой
cat /proc/asound/modules
вывод был:Я попробовал оба ответа, описанные здесь, которые не помогли (со многими комбинациями индекса и большим количеством перезапуска). Я думаю, проблема была в том, что мое USB-устройство инициализировалось после загрузки. Как бы то ни было, поэтому мое рабочее решение - занести в черный список другие 2 звуковых устройства, обновив их
/etc/modprobe.d/blacklist.conf
какисточник
Ответ от Matija Nalis только для меня сработал (alsamixer изменил значение по умолчанию, но другие вещи, такие как aplay и firefox, упрямо застряли с неправильным значением по умолчанию) Этот пример из вики Debian работал для меня (на ноутбуке CentOS-6):
Для справки: ALSA плохо документирована, и особенно это очень простые вещи, такие как выбор карты для использования слишком сложен. Хуже того, кажется, что между системами происходит изменение. Кроме того, я получил этот тег «Generic_1» от aplay -l, где он появляется в списке как «карточка 1». Другие люди, казалось, использовали его, поэтому я сделал то же самое ... что это значит, я не могу сказать.
источник
Хотя вы можете изменить карту alsa по умолчанию, отредактировав .asoundrc или системный asound.conf, у этого подхода есть пара существенных проблем.
Это хрупкий и требует перезапусков приложений, чтобы соблюдать.
Если вы хотите переключать карты на лету, тогда вам действительно нужно использовать звуковой сервер, который правильно абстрагирует приложения от звуковой карты, например pulseaudio.
источник
Вот вариант ответов Matija Nalis и Tel. Вот что сработало для меня:
~ / .Asoundrc
(Odroid C0, Debian Jessie, аудио HDMI как карта 0 и звуковая карта USB как карта 1 согласно aplay -l)
Примечание: другие методы не работали для меня, так как / proc / asound / modules не существует, и нет звукового модуля hdmi для черного списка или с низким приоритетом, он встроен в ядро. Кажется, мне пришлось бы перекомпилировать ядро без поддержки аудио hdmi, чтобы полностью отключить его.
источник