Ich verwende ein USB-Mikrofon über einen USB-Switch (zusammen mit Maus und Tastatur) auf mehreren Computern.
Wenn ich von meinem anderen Computer zurückschalte, wird mein Mikrofon von Linux wieder aktiviert, aber TeamSpeak kann es nicht erneut aktivieren oder glaubt immer noch, dass es defekt / nicht verfügbar ist. Ich muss die "Capture Device" -Konfiguration in Teamspeak von "Default" auf mein USB-Mikrofon oder umgekehrt ändern, damit es wieder funktioniert.
In einer älteren Ubuntu-Installation habe ich dies irgendwie mit Hilfe von Google gelöst, sodass das USB-Mikrofon immer aktiv war (obwohl es nicht angeschlossen war), aber ich kann dieses Update nicht mehr für mich finden.
usb
microphone
alsa
pulse-audio
teamspeak
TimeWaster
quelle
quelle
.asoundrc
? Etwas?Antworten:
Nach dem Schwitzen von Blut und Tränen, dem Lesen von Tonnen von Dokumentation und dem Ausprobieren von Material für Tage habe ich eine Lösung. kein guter, aber ich habe einen.
füge zuerst am Ende deiner pulseaudio config hinzu (in meinem Fall
sudo nano /etc/pulse/default.pa
) die folgende config:Dadurch entsteht eine "Null-Senke", die nicht entfernt wird, wenn ein Gerät getrennt wird, weil es keinem Gerät angehört, das auch eine entsprechende Monitorquelle hat, die TS3 als permanente Quelle verwenden kann. dann wird ein Loopback vom Mikrofon zur Nullsenke erstellt. Starten Sie jetzt pulseaudio neu:
Jetzt müssen Sie sicherstellen, dass TS3 den Mic-Monitor dauerhaft als Quelle verwendet, indem Sie ihn öffnen
pavucontrol
und sicherstellen, dass unter der Registerkarte "Aufnahme" "TeamSpeak3" im Dropdown-Menü an "Überwachung der Nullausgabe" gebunden ist.Normalerweise reicht das aus, aber der Loopback wird von pulseaudio nicht erneut angeschlossen, wenn das Mikrofon erneut angeschlossen wird. Dafür brauchen wir udev.
Erstellen Sie zunächst ein Skript, das von udev aufgerufen werden kann:
und fügen Sie das folgende Skript hinzu:
Machen Sie jetzt das Skript ausführbar:
Dies prüft 10 Sekunden lang, ob das Mikrofon angeschlossen ist. Falls ja, erstellen Sie den pulseaudio-Loopback erneut, der beim Abnehmen des Mikrofons entfernt wurde.
Jetzt können Sie eine udev-Regel erstellen, die das Skript startet, wenn das Gerät erneut angeschlossen wird:
mit folgendem Inhalt:
Jetzt udev neu starten:
Dies prüft, ob ein Gerät mit einer bestimmten ID hinzugefügt (angehängt) wurde, und führt das soeben erstellte Skript unter Ihrem Benutzernamen aus (vergessen Sie nicht, es zu ändern). Dies ist wichtig, da Pulseaudio auf den meisten Systemen im Benutzerland ausgeführt wird.
screen -d -m
Dies ist wichtig, damit das Skript nicht blockiert wird. Andernfalls wird das Mikrofon nicht angeschlossen, bis das Skript beendet ist.Ihr gerätespezifischer Befehl wird höchstwahrscheinlich anders aussehen. Welche "ATTR" und andere Bezeichnungen zu verwenden sind, hängt von Ihrem Gerät ab. Wie Sie das herausfinden, wird millionenfach online beschrieben.
das sollte es sein. Jedes Mal, wenn das Mikrofon wieder angeschlossen wird, erstellt das Skript den Loopback, und TS3 sollte die ganze Zeit den Nullsenken-Monitor hören, der der Meinung ist, es sei ein echtes Mikrofon.
Ersetzen Sie in all diesen Schritten "alsa_input.usb-Thomann_SC450USB-00.iec958-stereo" durch den Namen Ihres Geräts!
Insgesamt kann ich sagen, dass ich udev hasse. Es hat eine Million spezielle Dinge, die es anders behandelt als ein normales Linux-System, und es ist fast unmöglich zu debuggen. Ich möchte es nie wieder sehen.
quelle