У меня есть система киосков, которая загружается каждый раз и настроена из файла конфигурации на веб-сервере. В настоящее время у меня есть два микрофона, подключенных к киоску; аналоговый микрофон в порт микрофона и 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, поскольку я не всегда уверен в том, какой индекс будут иметь устройства, если физические подключения немного отличаются от системы к системе. Как уже упоминалось ранее, мои навыки написания скриптов в командной строке жалкие, поэтому любая помощь в этом была бы оценена.
Любая помощь откровенно оценивается ... спасибо заранее.