Микшер Alsa для назначения определенных приложений определенной звуковой карте?

[1129264] Когда вы расширяете переменную [1129590]sedi[1129591], происходит то, что [1129592]''[1129593] передается в качестве аргумента в [1129594]sed[1129595], вместо того, чтобы создавать пустой аргумент, как и ожидалось.

Лучший способ, который я могу увидеть вокруг этого, это сделать вашу [1129596]sedi[1129597] переменную массивом:

  • И использовать вот так:
  • В противном случае, я думаю, что единственный способ превратить ваш [1129598]''[1129599] в фактический пустой аргумент - это использовать [1129600]eval[1129601] с вашим оригинальным объявлением:
  • Однако это несколько неприятное решение, так как вам нужно добавить дополнительный слой кавычек/кавычек к остальной части команды. Также, как правило, рекомендуется (и безопасно) избегать использования [1129602]eval[1129603] там, где это возможно.
Обновление

Как прокомментировано ниже, создание функции будет работать. На этом же пути псевдоним [1129604]-[1129605], вероятно, самый короткий метод:

Сделать использование просто:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\0BC19BFC9D71BE44FB2B3570BAE7D7CD
2
06.09.2015, 23:40
2 ответа

Вы можете использовать pavucontrol , чтобы установить устройство вывода звука по умолчанию (и резервное). Но для этого требуется pulseaudio (одна из причин, по которой был разработан pulse ).

-1
27.01.2020, 23:10

Как упоминалось в комментариях, Alsa, похоже, не может прозрачно переключать запущенные программы с одного устройства воспроизведения на другое, поскольку это особенность PulseAudio. Более того, выбор устройства в микшере Alsa будет определять только элементы управления микшером, отображаемые в микшере , и не имеет никакого отношения к звуковой карте по умолчанию, используемой медиаплеерами.

Существует минималистичный графический интерфейс Python, который позволяет обнаруживать подключенные USB-ЦАП и устанавливать устройство воспроизведения по умолчанию для новых программ: asouncdconf-gtk (изначально написано для Ubuntu с учетом Xfce). Эта утилита использует скрипт Python asoundconf . Даже если он не поддерживался в течение нескольких лет (последнее обновление в 2011 году), похоже, он все еще нормально работает в современных дистрибутивах (например, Ubuntu 14.04).

enter image description here

Пользователи Ubuntu могут устанавливать пакеты из asoundconf PPA (официально Ubuntu имеет достойную поддержку только для PulseAudio). Для Arch Linux см. Есть ли простой способ переключить звуковые карты воспроизведения? . Но поскольку это код Python, он может работать практически в любом дистрибутиве: возьмите Ubuntu .deb , распакуйте его с помощью диспетчера архивов и поместите сценарии в / usr / bin .


В официальных документах Alsa указывается только ручной способ установки звуковой карты по умолчанию :

Найдите соответствующую карту:

cat /proc/asound/cards

и затем вставьте / etc / asound.conf :

defaults.pcm.card 1
defaults.ctl.card 1

Замена «1» на номер соответствующей карты. Вряд ли вы хотели бы делать что-то часто, например с USB-ЦАП.


Дополнительная литература:

  • Asoundconf для Ubuntu 10.10 (Maverick) для более подробного обсуждения Alsa-only и PulseAudio в дистрибутивах Ubuntu.
  • alsa-utils отсутствует asoundconf - Ubuntu сообщает, что они WONTFIX это для пользователей только Alsa (т.е. заставлять своих пользователей использовать PulseAudio; похоже, это корпоративная вещь, поскольку Skype сделал то же самое с версией 4.3 ...)
0
27.01.2020, 23:10

Теги

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