Кожен раз, коли мені хочеться скористатися Skype, я повинен переходити до налаштувань звуку. А там увімкніть аудіовхід на " веб-камеру " і зніміть галочку " відключити звук ". Це досить дратує. Чи є спосіб завжди зберігати однакову конфігурацію?
Кожен раз, коли мені хочеться скористатися Skype, я повинен переходити до налаштувань звуку. А там увімкніть аудіовхід на " веб-камеру " і зніміть галочку " відключити звук ". Це досить дратує. Чи є спосіб завжди зберігати однакову конфігурацію?
Відповіді:
Під час запуску pulseaudio всі параметри можна визначити, помістивши власні файли конфігурації у прихований .pulse
каталог у вашій ГОЛОВНІЙ. Якщо цих файлів ще немає, ви можете використовувати стандартні файли /etc/pulse/
як шаблон. Більшість записів у цих файлах мають усні пояснення.
~/.pulse/default.pa
для завантаження модулів та визначення за замовчуванням~/.pulse/client.conf
для налаштування клієнта для звукового сервера~/.pulse/daemon.conf
визначити швидкість вибірки та буфериЩоб зробити вашу веб-камеру джерелом за замовчуванням, нам потрібно знати ім'я та номер цього джерела, переглядаючи список, створений наступною командою в терміналі:
pacmd list-sources
Потім редагуємо наступний рядок у ~/.pulse/default.pa
:
set-default-source [name]
і замініть [name]
ім'я або номер джерела на потрібне джерело. Потім нам потрібно переконатися, що джерело не вмикається, додавши цей рядок:
set-source-mute [name]|[#n]> 0
Укажіть ім’я або індекс вашого джерела. Ви можете додати різноманітні інші налаштування, на які посилається PulseAudio Wiki (зараз на сторінці людини:) man pulse-cli-syntax
.
Рекомендується спочатку протестувати всі команди через інтерфейс командного рядка перед зміною файлів конфігурації. Це можна відкрити pacmd
в терміналі
/etc/pulse/default.pa
. Використовуйте цей файл або скопіюйте його до ~/.pulse
редагування.
pacmd list-sources
. Тобто для мого пристрою це було set-default-source alsa_input.usb-0d8c_USB_PnP_Sound_Device-00-Device.analog-mon
.
Я погоджуюся, що проблема полягає в тому, що Pulseaudio не встановлює USB-пристрій за замовчуванням, оскільки його немає під час запуску імпульсу.
Тож моє рішення для цього полягає в підключенні до системи, яка помічає, коли підключено USB-пристрій ... UDEV!
До речі, ці вказівки трохи прикольні, і я припускаю, що вам зручно робити речі в командному рядку і ставати кореневим користувачем для оновлення файлів udev та створення скриптів виконуваним.
Першим кроком є підключення веб-камери та пошук чарівного постачальника та номерів продуктів, набравши текст
lsusb
Я використовую Microsoft Lifecam, і він показує як
Bus 001 Device 013: ID 045e:072d Microsoft Corp.
важлива частина - 045e: 072d
Далі, під час підключення веб-камери, дізнайтеся ім’я імпульсного аудіопристрою. Тип
pacmd list-sources
Знову ж таки, я шукаю рядок, який починається name:
потім має щось про Microsoft Lifecam ... ось воно
name: <alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono>
тому ім'я мого імпульсного аудіо буде alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
Тоді я створив нове правило 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"
частини.
Короткий огляд часу. Кожен раз, коли я підключаю свою веб-камеру, я хочу запустити команду
pacmd set-default-source alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
Але команду потрібно запускати як я (користувач, що працює на робочому столі), але udev працює як користувач root - тому, коли udev виконує мою команду, мені потрібно змінити її на мого користувача, а потім запустити команду.
Отже, у нас є 2 варіанти.
Швидкий і брудний . Примусьте правило udev запустити su james -c pacmd set-default-source...
це так невірно, я навіть не можу закінчити введення команди. Що робити, якщо змінити веб-камери? Що робити, якщо встановити це для іншого користувача?
Трохи чистіше . Запустіть скрипт, який читає файл за замовчуванням, який містить ім'я імпульсного пристрою та ім'я користувача. Якщо ви хочете, щоб файли вони знаходилися на GitHub. Спочатку сценарій /usr/local/bin/webcam-mic
. Файл за замовчуванням /etc/default/webcam-mic
просто повинен визначити 2 змінних оболонки, відповідно до коментаря в суті. Покладіть сценарій /usr/local/bin/
і зробіть його виконуваним. Потім вставте файл за замовчуванням /etc/defaults/
і відредагуйте його, щоб використовувати ваше ім'я користувача та імпульсний пристрій з попереднього.
Удачі!
Рішення від Takkat не працювало для мене, ось моє рішення для тих, хто ще має проблеми з цим.
Для мене було вирішено два питання з рішенням Таккат. По-перше, я зрозумів, що після запуску потрібна затримка, перш ніж відбудеться перемикання на мікрофон (в моєму рішенні я використовую команду 'сон'). Також команда 'set-default-source' працювала над включенням мікрофона USB, але чомусь Skype не розпізнавав це і продовжував використовувати внутрішній мікрофон.
Щоб це працювало, спочатку корисно встановити павуконтроль. У pavucontrol відкрийте вкладку «Конфігурація» і спостерігайте за тим, що відбувається з командами нижче, щоб перевірити, чи працює робота за призначенням.
Потім з терміналу введіть:
pacmd
Звідти введіть:
list-cards
На виході знайдіть номер індексу USB-аудіо, який ви хочете (у моєму випадку це було «1»). Потім перегляньте рядки, перелічені в розділі "профілі" як для картки за замовчуванням, так і для USB-карти. Вони повинні бути тими ж, що перелічені в pavucontrol, і можуть бути чимось на кшталт 'ouput: input + output', 'off' або 'input: analog-mono' і т. Д. Ще в командному рядку pacmd команда set-card-profile <index number> <profile name>
повинна змінитися налаштування в 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"
Пояснення: Я виявив, що команда "сон" необхідна, це означає, що команда виконується після паузи, яку я встановив на 30 секунд (я думаю, що це може бути менше, пограйте з цим). Наступною командою (після '&&') є отримання за замовчуванням (внутрішнього) профілю картки для переходу з вводу + виводу (дуплекс, який є типовим) лише для виведення. Наступна команда - звукова карта USB (у моєму випадку номер "1") вимкнеться. Остання команда полягає в тому, щоб ця сама картка знову включалася в режимі 'input: analog-mono'
Можливо, вам доведеться пограти з цими налаштуваннями, щоб знайти той, який працює.
Тепер, коли я запускаю, мій USB-мікрофон готовий до використання через 30 секунд, а Skype використовує правильний мікрофон.
спробуйте це, натисніть на значок динаміка на верхній панелі, налаштування клацання. там ви можете вибрати параметр вводу за замовчуванням для вашого мікрофона і, можливо, змінити конфігурацію обладнання, щоб він працював нормально.