Ich habe eine USB-Soundkarte gekauft. Ich möchte meinen Linux-Desktop so einrichten, dass er das USB-Gerät bevorzugt, wenn es angeschlossen ist, und automatisch wechselt, wenn das Gerät (un) angeschlossen ist. Ist es möglich und wie?
linux
usb
sound-card
alsa
debian-wheezy
Petr Pudlák
quelle
quelle
Antworten:
Finden Sie Ihre Karte mit
Um gültige ALSA-Kartennamen zu erhalten, verwenden Sie
aplay
:und dann erstelle
/etc/asound.conf
mit folgendem:Ersetzen Sie "Karte 1" durch die oben angegebene Nummer oder den Namen Ihrer Karte.
Alternativ können Sie die Reihenfolge Ihrer Karten ändern, sodass Ihre USB-Karte die Karte 0 ist und ohne Bearbeitung funktioniert
asound.conf
.quelle
defaults.pcm.card 1 defaults.ctl.card 1
forum.palemoon.org/viewtopic.php?t=9661#p66016Dies ist die Methode zur Auswahl der Standard-Soundkarte in Alsa. Sie können Alsa installieren, damit diese Methode funktioniert, wenn Sie Pulse Audio verwenden.
listet Ihre Soundmodule auf. Die Ausgabe des Befehls sieht wie folgt aus (zB):
Sie können ziemlich leicht verstehen, welches Ihre USB-Soundkarte von oben ist.
Bearbeiten Sie diese alsa-base.conf so, dass Ihre bevorzugte Karte einen Index von -2 / 0 und die andere Karte einen Index von -1 / 1 hat (bleiben Sie bei -2 und -1).
In diesem Fall ist das USB-Gerät das bevorzugte Gerät.
Wenn Sie zwei verschiedene Karten mit dem gleichen Namen aus der Ausgabe haben, wie folgt:
Setzen Sie diesen Befehl ab, um herauszufinden, welches welches ist:
Dann bearbeiten Sie die Module wie folgt:
Möglicherweise ist ein Neustart erforderlich. Möglicherweise müssen Sie Ihre Soundkarten manuell umschalten.
quelle
Ich konnte auch keine Ausgabe von meinem USB-Gerät erhalten. Meine
cat /proc/asound/modules
Ausgabe war:Ich habe beide hier beschriebenen Antworten ausprobiert, was nicht geholfen hat (mit vielen Indexkombinationen und viel Neustart). Ich denke, das Problem war, dass mein USB-Gerät nach dem Booten initialisiert wurde. Wie auch immer, meine funktionierende Lösung ist es, andere 2 Audiogeräte auf die schwarze Liste zu setzen, indem sie aktualisiert wird
/etc/modprobe.d/blacklist.conf
als:quelle
Die Antwort von Matija Nalis hat bei mir nur zur Hälfte geklappt (alsamixer hat die Voreinstellung geändert, aber andere Dinge wie aplay und firefox haben sich hartnäckig an die falsche Voreinstellung gehalten). Dieses Beispiel aus dem Debian-Wiki funktionierte für mich (auf CentOS-6-Laptops):
Um es festzuhalten: ALSA ist schlecht dokumentiert, und besonders diese sehr einfachen Dinge wie die Auswahl der zu verwendenden Karte sind viel zu schwierig. Schlimmer noch, es scheint sich zwischen den Systemen zu ändern. Außerdem habe ich das Tag "Generic_1" von aplay -l erhalten, wo es als "Karte 1" in der Liste erscheint. Andere Leute schienen es zu benutzen, also habe ich dasselbe getan ... was es bedeutet, kann ich nicht sagen.
quelle
Während Sie die Standard-Alsa-Karte ändern können, indem Sie .asoundrc oder die asound.conf des Systems bearbeiten, gibt es bei diesem Ansatz einige schwerwiegende Probleme.
Es ist zerbrechlich und erfordert einen Neustart der Anwendung.
Wenn Sie Karten im laufenden Betrieb wechseln möchten, müssen Sie einen Soundserver verwenden, der die Anwendungen von der Soundkarte korrekt abstrahiert, z. B. pulseaudio.
quelle
Hier ist eine Variante der Antworten von Matija Nalis und Tel. Das hat bei mir funktioniert:
~ / .asoundrc
(Odroid C0, Debian Jessie, HDMI-Audio als Karte 0 und USB-Soundkarte als Karte 1 nach aplay -l)
Hinweis: Andere Methoden haben bei mir nicht funktioniert, da / proc / asound / modules nicht existiert und es kein HDMI-Audiomodul gibt, das auf die schwarze Liste gesetzt oder auf niedrige Priorität gesetzt werden kann. Es ist in den Kernel eingebettet. Es scheint, als hätte ich den Kernel ohne HDMI-Audio-Unterstützung neu kompilieren müssen, um ihn vollständig zu deaktivieren.
quelle