Как изменить микрофон для использования в PulseAudio

Глядя на выполнение следующего:

Измените микрофон по умолчанию от аналогового микрофона до веб-камеры Logitech 920C Mic (или обратно в другую сторону) из командной строки. хотел бы иметь возможность сделать это, используя либо / или / как идентификатор поставщика, так и идентификатор продукта, а не уродливое длинное сложное имя устройства. Мои навыки написания сценариев рудиментарны, так что это потеряно для меня. Если это не сработает, сбросьте соединение USB с камерой так, чтобы оно было заново открыта.

Фон

У меня есть система киосков, которая загружается каждый раз и настроена из файла конфигурации на веб-сервере. В настоящее время у меня есть два микрофона, подключенных к киоску; аналоговый микрофон в порт микрофона и Logitech 920C с внутренним микрофоном. Как правило, внутренний микрофон появляется по умолчанию. Я могу передавать команды из файла конфигурации, и мне хотелось бы, чтобы выбрать, какой микрофон активен после загрузки, используя этот метод. система распознает оба микрофона, но logitech, похоже, не пропускает никакого звука в систему даже после манипулирования им в pavucontrol. Единственный способ, с помощью которого я смог заставить его работать после новой загрузки, - физически отключить его и снова подключить, после чего он функционирует так, как ожидалось.

То, что я пробовал

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

$ pacmd "set-default-source device-name-of-logitech"

Я могу отключить звук и включить звук и изменить громкость источника с помощью приведенного ниже кода, но он имеет никакого эффекта на функцию

$ pactl set-source-mute 0 1 $ pactl set-source-volume 0 50%

Я также попытался сбросить USB-устройство, используя приведенный ниже код. При этом logitech будет исчезать из pavucontrol, а затем снова появляется, но все же без каких-либо функциональных результатов, чтобы заставить микрофон отправлять аудио

sudo sh -c "echo 0 > /sys/bus/usb/devices/1-4.6/authorized" sudo sh -c "echo 1 > /sys/bus/usb/devices/1-4.6/authorized"

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

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

Любая помощь откровенно оценивается ... спасибо заранее.

3
задан 2 November 2017 в 19:54

0 ответов

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

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