Я не знаю, есть ли где-нибудь файл настроек или конфигурации для этого, но это можно сделать с помощью переменных среды. Мой ответ основан на этой записи в FAQ по PulseAudio о настройке источника записи. Я пробовал это с выходом (приемник в PulseAudio), но он должен работать как для ввода и вывода.
Первый шаг - получить внутреннее имя источника и приемника, которые вы хотите использовать. Для этого вам нужно использовать pactl list
команду. Эта команда вернет кучу данных, но ниже будут перечислены только имена источников:
LANG=C pactl list | grep -A2 'Source #' | grep 'Name: ' | cut -d" " -f2
Этот список, вероятно, будет содержать имена как для обычных источников, так и для источников мониторов PulseAudio (в моей системе это «монитор» в названии). Вы захотите использовать обычное имя источника устройства, на которое хотите настроить таргетинг.
Вы можете сделать то же самое, чтобы получить имена раковин:
LANG=C pactl list | grep -A2 'Sink #' | grep 'Name: ' | cut -d" " -f2
Получив имена, вы можете запустить что-то вроде следующего из вашего терминала:
PULSE_SINK=<sink_name> PULSE_SOURCE=<source_name> <command_to_run_skype>
Конечно, если вы хотите запустить это из меню, вам, вероятно, потребуется создать сценарий оболочки и использовать его вместо команды по умолчанию. Примерно так должно работать:
#!/bin/sh
set PULSE_SINK <sink_name>
set PULSE_SOURCE <source_name>
<command_to_run_skype>
Вам нужно экспортировать и назначить переменные, например:
источник
Я написал Perl-модуль, который делает это PulseAudio.pm .
Это позволяет вам использовать такой синтаксис,
Конечно, вы можете использовать любые критерии в
get_sink_by
иget_source_by
. Это читает отpacmd info
. Это работает по той же идее ответа @ moberley, за исключением того, что она использует библиотеку perl, а не заставляет вас выполнять собственный анализ. Он также предоставляет некоторые другие интересные функции.Для моего подкаста я использую это для запуска Skype тоже ..
(
btrlistener*
Скайп имена для blogtalkradio).источник