Несколько микрофонов / динамиков; как выбрать значение по умолчанию? [dубликат]

Другой способ получить все числа напрямую:

Чтобы получить общее количество слотов:

sudo dmidecode -t memory | grep -c '^Memory Device$'

Чтобы получить количество используемых слотов:

[ f2]

Чтобы получить максимальную емкость:

sudo dmidecode -t memory | grep -Po '^\tMaximum Capacity: \K.*'
ubuntu@ubuntu ~ % sudo dmidecode -t memory | grep -c '^Memory Device$'
4
ubuntu@ubuntu ~ % sudo dmidecode -t memory | grep -c -Po '^\tPart Number: (?!\[Empty\])'
1
ubuntu@ubuntu ~ % sudo dmidecode -t memory | grep -Po '^\tMaximum Capacity: \K.*'
32 GB
12
задан 20 March 2011 в 20:10

32 ответа

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

Было два вопроса для меня с решением Takkat. Во-первых, я понял, что должна произойти задержка после запуска до перехода на микрофон (я использую команду «sleep» в моем решении ниже). Кроме того, команда «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 & lt; индексный номер & gt; & lt; имя профиля & gt; должно изменить настройки в pavucontrol. Здесь мы хотим переключить внутренний звук с дуплекса на выходной, а USB - на вход.

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

После проб и ошибок мой старт (d1)

  bash -c "sleep 30 & amp; & amp; pacmd set-card-profile 0 выход: аналоговый стерео и amp; pcmd set-card-profile  1 off & amp; pacmd set-card-profile 1 input: analog-mono " 

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

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

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

2
ответ дан 14 August 2018 в 22:48

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

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

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

Сначала узнайте материал

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

. Первый шаг - подключить веб-камеру и найти номера волшебных продавцов и продуктов на typing

  lsusb  

Я использую Microsoft Lifecam, и он отображается как

  Bus 001 Устройство 013:  ID 045e: 072d Microsoft Corp.  

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

Устройство импульсного звука

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

  pacmd list-sources  

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

  имя: & lt; alsa_input.usb-Microsoft_Microsoft ___ LifeCam_VX-5500-02-VX5500.analog-mono & gt;   

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

Правила UDEV [ ! d18]

Затем я создал новое правило udev, которое запускается, когда вставлено USB-устройство с поставщиком = 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 " part.

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

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

  pacmd set-default-source alsa_input.usb-Microsoft_Microsoft ___ LifeCam_VX-5500-02-VX5500.analog-mono  

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

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

  1. Быстрая и грязная. Сделать правило udev run su james -c pacmd set-default-source ... Это неправильно, я даже не могу закончить ввод команды. Что делать, если вы меняете веб-камеры? Что делать, если вы устанавливаете это для другого пользователя?
  2. Слегка чище. Запустите скрипт, который читает файл по умолчанию, который имеет имя устройства pulseaudio, и ваше имя пользователя в нем. Если вы хотите, чтобы файлы были на GitHub. Сначала скрипт / usr / local / bin / webcam-mic . Файл по умолчанию / etc / default / webcam-mic просто должен определить две переменные оболочки в соответствии с комментарием в сущности. Поместите скрипт в / usr / local / bin / и сделайте его исполняемым. Затем поместите файл по умолчанию в / etc / defaults / и отредактируйте его, чтобы использовать ваше имя пользователя и устройство pulseaudio раньше.

Удачи!

6
ответ дан 14 August 2018 в 22:48
  • 1
    Вы можете снова загрузить эти сценарии; они, похоже, исчезли из пастебинов? – ej159 11 October 2014 в 13:56
  • 2
    Я поставил сценарий в суть GitHub и обновил ответ. – James Mitchell 17 October 2014 в 08:11

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

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