Как мой аудиовход всегда может быть микрофоном веб-камеры?

Каждый раз, когда я хочу использовать Skype, я должен идти в настройках звука. И там, включите аудиовход в « webcam » и снимите флажок « mute ». Это довольно раздражает. Есть ли способ всегда сохранять одну и ту же конфигурацию?

14
задан 20 March 2011 в 19:10

4 ответа

Изменение настроек по умолчанию для PulseAudio

При запуске pulseaudio все настройки можно определить, поместив пользовательские файлы конфигурации в скрытый каталог .pulse в вашем HOME. Если этих файлов там еще нет, то в качестве шаблона можно использовать стандартные файлы из /etc/pulse/. Большинство записей имеют глагольные пояснения в этих файлах.

  • ~/.pulse/default.pa для загрузки модулей и определения параметров по умолчанию
  • ~/.pulse/client.conf для настройки клиента для звукового сервера
  • ~/.pulse/daemon. conf для определения частоты дискретизации и буферов

Чтобы сделать вашу веб-камеру источником по умолчанию, нам нужно знать имя и номер этого источника, просмотрев список, составленный следующей командой в терминале:

pacmd list-sources

Затем мы редактируем следующую строку в ~/.pulse/default.pa:

set-default-source [name]

и заменяем [имя] на имя или номер источника для нужного источника. Затем нам нужно убедиться, что источник не отключен, добавив следующую строку:

set-source-mute [name]|[#n]> 0

Дайте имя или индекс вашего источника. Вы можете добавить множество других настроек, на которые ссылаются в PulseAudio Wiki (сейчас на man-странице: man pulse-cli-syntax).

Рекомендуется сначала протестировать все команды через интерфейс командной строки, прежде чем менять конфигурационные файлы. Это можно открыть с помощью pacmd в терминале

15
ответ дан 20 March 2011 в 19:10

Решение Takkat не сработало для меня, вот мое решение для всех все еще проблема с этим.

У меня возникли две проблемы с решением Takkat. Во-первых, я понял, что должна быть задержка после запуска, прежде чем можно будет переключиться на микрофон (я использую команду «сна» в своем решении ниже). Кроме того, команда set-default-source работала для включения USB-микрофона, но каким-то образом Skype не распознал это и продолжал использовать внутренний микрофон.

Чтобы это работало,сначала полезно установить pavucontrol. В pavucontrol откройте вкладку «Конфигурация» и посмотрите, что происходит с приведенными ниже командами, чтобы убедиться, что все работает должным образом.

Затем с терминала введите:

pacmd

Оттуда введите:

list-cards

В выходных данных найдите номер индекса аудио USB, который вам нужен (в моем случае это было «1»). Затем взгляните на строки, перечисленные в разделе «Профили» для карты по умолчанию и USB-карты. Они должны быть такими же, как те, что перечислены в pavucontrol, и могут быть чем-то вроде 'ouput: input + output', 'off' или 'input: analog-mono' и т. Д. Все еще в командной строке pacmd команда set-card-profile <порядковый номер> <имя профиля> должен изменить настройки в pavucontrol. Здесь мы хотим переключить внутренний звук с дуплекса на только вывод, а USB - на ввод.

Найдя подходящие профили, мы хотим создать команду запуска, чтобы изменить некоторые параметры сразу после запуска. Чтобы создать команду запуска, откройте панель и найдите «запускаемые приложения», затем нажмите «добавить», затем введите имя по вашему выбору и соответствующую команду ниже.

После проб и ошибок моя команда запуска завершилась выглядит так:

bash -c "sleep 30 && pacmd set-card-profile 0 output:analog-stereo && pacmd set-card-profile 1 off && pacmd set-card-profile 1 input:analog-mono"

Объяснение: Я обнаружил, что команда 'sleep' была необходима, это означает, что команда выполняется после паузы, которую я установил на 30 секунд (я думаю, что это может быть меньше, поиграйте с этим) . Следующая команда (после «&&») - получить профиль карты по умолчанию (внутренний) для переключения с ввода + вывода (дуплексный, по умолчанию) только на вывод. Следующая команда предназначена для отключения звуковой карты USB (в моем случае это цифра «1»). Последняя команда предназначена для того, чтобы эта же карта снова включилась в режиме 'input: analog-mono'

. Возможно, вам придется поиграть с этими настройками, чтобы найти ту, которая работает.

Теперь, когда я запускаю, мой USB-микрофон готов к работе через 30 секунд, и Skype использует правильный микрофон.

2
ответ дан 20 March 2011 в 19:10

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

0
ответ дан 20 March 2011 в 19:10

Я согласен с тем, что проблема в том, что Pulseaudio не устанавливает USB-устройство по умолчанию, потому что оно не присутствует при запуске импульса.

Так что мое решение - подключиться к системе, которая замечает, когда подключено USB-устройство ... UDEV!

Кстати, эти инструкции немного напуганы, и я предполагаю, что вам удобно делать что-то в командной строке и становиться пользователем root для обновления файлов udev и создания исполняемых скриптов.

Во-первых, выясните материал

USB-идентификатор

Первый шаг - подключить вашу веб-камеру и найти волшебные номера поставщиков и продуктов, набрав

lsusb

Я с помощью Microsoft Lifecam, и она отображается как

Bus 001 Device 013: ID 045e:072d Microsoft Corp.

, важная часть - 045e:072d

Устройство Pulseaudio

Затем, когда веб-камера подключена, узнайте имя устройства pulseaudio. Введите

pacmd list-sources

Опять же, я ищу строку, которая начинается с name: , а затем имеет что-то о Microsoft Lifecam ... вот это

name: <alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono>

, поэтому имя моего устройства pulseaudio будет alsa_input .usb-Microsoft_Microsoft ___ LifeCam_VX-5500-02-VX5500.analog-mono

Правила UDEV

Затем я создал новое правило udev, которое срабатывает, когда вставляется USB-устройство с vendor = 045e и product = 072d. Чтобы создать правило, создайте новый файл с именем /etc/udev/rules.d/ SOMETHING .rules (я назвал свой файл /etc/udev/rules.d /95-webcam-mic.rules ).

Поместите эту строку в файл

SUBSYSTEMS=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="072d", ACTION=="add", GROUP="audio", RUN+="/usr/local/bin/webcam-mic"

Не забудьте заменить ATTR {idVendor} и ATTR {idProduct} значениями для вашей веб-камеры.

Что это за правило это запускает сценарий для установки USB-устройства для ввода, то есть RUN + = "/ usr / local / bin / webcam-mic" часть.

Наконец, установите веб-камеру для ввода

Время быстрого обзора. Каждый раз, когда я подключаю свою веб-камеру, я хочу запускать команду

pacmd set-default-source alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono

. Но команда должна запускаться от имени меня (пользователь, работающий на рабочем столе), но udev запускается от имени пользователя root, поэтому, когда udev запускает мой команда Мне нужно изменить ее на моего пользователя, затем запустить команду.

Итак, у нас есть 2 варианта.

  1. Быстро и грязно . Запустите правило udev su james -c pacmd set-default-source ... это ооочень неправильно, я даже не могу набрать команду. Что делать, если вы поменяете веб-камеры? Что, если вы установите это для другого пользователя?

  2. Немного чище . Запустите сценарий, который читает файл по умолчанию, в котором есть имя устройства pulseaudio и ваше имя пользователя. Если вам нужны файлы, они есть на GitHub. Сначала скрипт / usr / local / bin / webcam-mic . В файле значений по умолчанию / etc / default / webcam-mic просто необходимо определить 2 переменные оболочки, как указано в комментарии к сути. Поместите сценарий в / usr / local / bin / и сделайте его исполняемым. Затем поместите файл настроек по умолчанию в / etc / defaults / и отредактируйте его, чтобы использовать свое имя пользователя и устройство pulseaudio, полученное ранее.

Удачи!

7
ответ дан 20 March 2011 в 19:10

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

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