Jedes Mal, wenn ich Skype verwenden möchte, muss ich die Toneinstellungen vornehmen. Schalten Sie dort den Audioeingang auf " Webcam " und deaktivieren Sie die Schaltfläche " Stumm ". Es ist ziemlich nervig. Gibt es eine Möglichkeit, immer die gleiche Konfiguration beizubehalten?
14
Antworten:
Ändern der Standardeinstellungen für PulseAudio
Beim Ausführen von pulseaudio können alle Einstellungen definiert werden, indem benutzerdefinierte Konfigurationsdateien in das versteckte
.pulse
Verzeichnis in Ihrem HOME gestellt werden. Wenn diese Datei dort noch nicht vorhanden ist, können Sie die Standarddateien von/etc/pulse/
als Vorlage verwenden. Die meisten Einträge enthalten ausführliche Erklärungen in diesen Dateien.~/.pulse/default.pa
zum Laden von Modulen und Definieren von Standardeinstellungen~/.pulse/client.conf
um einen Client für den Soundserver zu konfigurieren~/.pulse/daemon.conf
Abtastraten und Puffer definierenUm Ihre Webcam zur Standardquelle zu machen, müssen wir den Namen und die Nummer dieser Quelle kennen, indem wir die Liste durchsehen, die mit dem folgenden Befehl in einem Terminal erstellt wurde:
Wir bearbeiten dann die folgende Zeile in
~/.pulse/default.pa
:und
[name]
durch den Namen oder die Quellennummer der gewünschten Quelle ersetzen . Wir müssen dann sicherstellen, dass die Quelle nicht stummgeschaltet ist, indem wir diese Zeile hinzufügen:Geben Sie den Namen oder den Index Ihrer Quelle an. Sie können eine Vielzahl anderer Einstellungen hinzufügen, auf die im PulseAudio Wiki verwiesen wird (jetzt auf der Manpage :)
man pulse-cli-syntax
.Es wird empfohlen, zuerst alle Befehle über die Befehlszeilenschnittstelle zu testen, bevor Sie die Konfigurationsdateien ändern. Dies kann mit in einem Terminal geöffnet werden
pacmd
quelle
/etc/pulse/default.pa
. Verwenden Sie diese Datei oder kopieren Sie sie nach,~/.pulse
bevor Sie sie bearbeiten.pacmd list-sources
. Dh mit für mein Gerät war esset-default-source alsa_input.usb-0d8c_USB_PnP_Sound_Device-00-Device.analog-mon
.Ich bin damit einverstanden, dass das Problem darin besteht, dass Pulseaudio ein USB-Gerät nicht als Standardgerät festlegt, da es beim Start des Impulses nicht vorhanden ist.
Meine Lösung hierfür ist also, sich in das System einzuklinken , das bemerkt, wenn ein USB-Gerät angeschlossen ist ... UDEV!
Übrigens sind diese Anweisungen ein wenig irre, und ich gehe davon aus, dass Sie es mögen, Dinge an der Befehlszeile zu erledigen und der Root-Benutzer zu werden, der udev-Dateien aktualisiert und Skripte ausführbar macht.
Finde zuerst etwas heraus
USB-ID
Der erste Schritt besteht darin, Ihre Webcam anzuschließen und den magischen Anbieter und die Produktnummern durch Eingabe zu finden
Ich verwende eine Microsoft Lifecam und es wird angezeigt als
Der wichtige Teil ist 045e: 072d
Pulseaudio-Gerät
Ermitteln Sie als Nächstes bei angeschlossener Webcam den Namen des pulseaudio-Geräts. Art
Auch hier suche ich nach der Leitung, die
name:
dann etwas über eine Microsoft Lifecam hat ... hier ist esso wird mein pulseaudio Gerätename sein
alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
UDEV-Regeln
Dann habe ich eine neue udev-Regel erstellt, die ausgelöst wird, wenn ein USB-Gerät mit vendor = 045e und product = 072d angeschlossen wird. Um eine Regel zu erstellen, erstellen Sie eine neue Datei mit dem Namen
/etc/udev/rules.d/
SOMETHING.rules
(Ich habe meine Datei aufgerufen/etc/udev/rules.d/95-webcam-mic.rules
).Fügen Sie diese Zeile in die Datei ein
Denken Sie daran, ATTR {idVendor} und ATTR {idProduct} durch die Werte für Ihre Webcam zu ersetzen .
Diese Regel führt ein Skript aus, um das USB-Gerät für die Eingabe festzulegen, das ist der
RUN+="/usr/local/bin/webcam-mic"
Teil.Zum Schluss stellen Sie die Webcam für die Eingabe ein
Schnelle Überblickszeit. Jedes Mal, wenn ich meine Webcam anschließe, möchte ich den Befehl ausführen
Der Befehl muss jedoch wie ich ausgeführt werden (der Benutzer, der den Desktop ausführt), aber udev wird als Root-Benutzer ausgeführt. Wenn also udev meinen Befehl ausführt, muss er auf meinen Benutzer geändert werden und dann den Befehl ausführen.
Wir haben also zwei Möglichkeiten.
Schnell und dreckig . Lasse die udev-Regel laufen,
su james -c pacmd set-default-source...
das ist sooo falsch, dass ich den Befehl nicht fertig tippen kann. Was ist, wenn Sie die Webcams wechseln? Was ist, wenn Sie dies für einen anderen Benutzer installieren?Etwas sauberer . Führen Sie ein Skript aus, das eine Standarddatei mit dem Gerätenamen pulseaudio und Ihrem Benutzernamen liest. Wenn Sie die Dateien möchten, sind sie auf GitHub. Zuerst das Drehbuch
/usr/local/bin/webcam-mic
. In der Defaults-Datei müssen/etc/default/webcam-mic
lediglich die 2 Shell-Variablen definiert werden (siehe Kommentar in der Übersicht). Setzen Sie das Skript in/usr/local/bin/
und machen Sie es ausführbar./etc/defaults/
Legen Sie dann die Standarddatei in und bearbeiten Sie sie, um Ihren Benutzernamen und das Pulseaudio-Gerät von früher zu verwenden.Viel Glück!
quelle
Die Lösung von Takkat hat bei mir nicht funktioniert. Hier ist meine Lösung für alle, die noch ein Problem damit haben.
Es gab zwei Probleme für mich mit der Lösung von Takkat. Zuerst wurde mir klar, dass es nach dem Start eine Verzögerung geben muss, bevor auf das Mikrofon umgeschaltet werden kann (ich verwende in meiner Lösung unten den Befehl 'sleep'). Der Befehl 'set-default-source' funktionierte auch, um das USB-Mikrofon einzuschalten, aber irgendwie erkannte Skype dies nicht und benutzte weiterhin das interne Mikrofon.
Damit dies funktioniert, ist es zunächst sinnvoll, pavucontrol zu installieren. Öffnen Sie in pavucontrol die Registerkarte "Konfiguration" und beobachten Sie, was mit den folgenden Befehlen geschieht, um zu überprüfen, ob die Dinge wie beabsichtigt funktionieren.
Dann geben Sie an einem Terminal Folgendes ein:
Von dort aus geben Sie ein:
Suchen Sie in der Ausgabe die Indexnummer des gewünschten USB-Audios (in meinem Fall war dies '1'). Schauen Sie sich dann die Zeilen an, die unter "Profile" sowohl für die Standardkarte als auch für die USB-Karte aufgeführt sind. Diese sollten mit den in pavucontrol aufgelisteten identisch sein und können so etwas wie "Output: Input + Output", "Off" oder "Input: Analog-Mono" usw. sein. Der Befehl
set-card-profile <index number> <profile name>
sollte sich weiterhin in der pacmd-Befehlszeile ändern die Einstellungen in pavucontrol. Was wir hier tun möchten, ist, das interne Audio von Duplex auf Output und das USB auf Input umzustellen.Sobald die entsprechenden Profile gefunden wurden, möchten wir einen Startbefehl erstellen, um einige Einstellungen direkt nach dem Start zu ändern. Um einen Startbefehl zu erstellen, öffnen Sie den Bindestrich und suchen Sie nach "Startanwendungen". Klicken Sie dann auf "Hinzufügen", geben Sie einen Namen Ihrer Wahl und den entsprechenden Befehl ein.
Nach Versuch und Irrtum sah mein Startbefehl so aus:
Erläuterung: Ich habe festgestellt, dass der Befehl 'sleep' erforderlich ist. Dies bedeutet, dass der Befehl nach einer Pause ausgeführt wird, die ich auf 30 Sekunden festgelegt habe (ich denke, dies kann weniger sein, spielen Sie damit herum). Der nächste Befehl (nach dem '&&') besteht darin, das standardmäßige (interne) Kartenprofil so zu konfigurieren, dass es nur von Eingabe + Ausgabe (Duplex, dies ist die Standardeinstellung) auf Ausgabe umschaltet. Der nächste Befehl ist, dass die USB-Soundkarte (in meinem Fall die Nummer '1') ausgeschaltet wird. Der letzte Befehl ist, dass dieselbe Karte im Modus 'Eingang: Analog-Mono' wieder eingeschaltet wird.
Möglicherweise müssen Sie mit diesen Einstellungen herumspielen, um die zu finden, die funktioniert.
Wenn ich jetzt starte, ist mein USB-Mikrofon nach 30 Sekunden einsatzbereit und Skype verwendet das richtige Mikrofon.
quelle
Versuchen Sie dies, klicken Sie auf das Lautsprechersymbol in Ihrem oberen Bereich, und wählen Sie die Klickeinstellungen aus. Dort können Sie eine Standardeingangsoption für Ihr Mikrofon auswählen und möglicherweise die Hardwarekonfiguration ändern, damit es funktioniert.
quelle