Kupiłem kartę dźwiękową USB. Chciałbym skonfigurować mój pulpit z Linuksem, aby preferował urządzenie USB, jeśli jest podłączony i automatycznie przełącza się, gdy urządzenie jest (nie) podłączone. Czy to możliwe i jak?
Kupiłem kartę dźwiękową USB. Chciałbym skonfigurować mój pulpit z Linuksem, aby preferował urządzenie USB, jeśli jest podłączony i automatycznie przełącza się, gdy urządzenie jest (nie) podłączone. Czy to możliwe i jak?
Odpowiedzi:
Znajdź swoją kartę za pomocą
$ cat /proc/asound/cards
Aby uzyskać prawidłowe nazwy kart ALSA, użyj aplay
:
$ aplay -l
a następnie utwórz za /etc/asound.conf
pomocą:
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
Zamień „kartę 1” na numer lub nazwę karty określoną powyżej.
Alternatywnie możesz zmienić kolejność kart, aby karta USB była kartą 0 i działała bez edycji asound.conf
.
defaults.pcm.card 1 defaults.ctl.card 1
forum.palemoon.org/viewtopic.php?t=9661#p66016
jest to metoda wyboru domyślnej karty dźwiękowej w Alsa. Jeśli chcesz korzystać z Pulse Audio, możesz zainstalować Alsa.
cat / proc / asound / modules
wyświetli listę modułów dźwiękowych. Wyjście polecenia będzie takie (np.):
0 snd_hda_intel
1 snd_usb_intel
możesz z łatwością zrozumieć, która karta dźwiękowa USB jest z góry.
nano /etc/modprobe.d/alsa-base.conf
edytuj ten plik alsa-base.conf w taki sposób, aby twoja preferowana karta miała indeks = -2 / 0, a druga karta miała indeks = -1/1 (trzymaj się -2 i -1)
opcje snd_hda_intel index = -1
opcje snd_usb_intel index = -2
w tym przypadku urządzenie USB jest preferowanym urządzeniem.
jeśli masz dwie różne karty o tej samej nazwie na wyjściu, to tak:
opcje snd_hda_intel
opcje snd_hda_intel
wydaj to polecenie, aby dowiedzieć się, które:
cat / proc / asound / cards
następnie edytuj moduły w ten sposób:
opcje snd_hda_intel enable = 1 indeks = 0
opcje snd_hda_intel enable = 0 indeks = 1
konieczne może być ponowne uruchomienie komputera. więc może być konieczne ręczne przełączenie kart dźwiękowych.
Nie mogłem również uzyskać danych wyjściowych z mojego urządzenia USB. Moje cat /proc/asound/modules
wyniki to:
0 snd_hda_intel
1 snd_hda_intel
2 snd_usb_audio
Próbowałem obu opisanych tutaj odpowiedzi, które nie pomogły (wiele kombinacji indeksu i wiele restartów). Myślę, że problemem było zainicjowanie urządzenia USB po uruchomieniu. Cokolwiek, więc moje działające rozwiązanie umieszcza na czarnej liście inne urządzenie dźwiękowe, aktualizując /etc/modprobe.d/blacklist.conf
jako:
blacklist snd_hda_intel
Odpowiedź Matija Nalis tylko dla mnie zadziałała (alsamixer zmienił domyślnie, ale inne rzeczy, takie jak aplay i firefox, uparcie utknęły w niewłaściwym domyślnym ustawieniu). Ten przykład z wiki debian działał dla mnie (na laptopie CentOS-6):
defaults.pcm.!card Generic_1
defaults.ctl.!card Generic_1
defaults.pcm.!device 0
defaults.ctl.!device 0
Dla przypomnienia: ALSA jest słabo udokumentowane, a szczególnie to bardzo proste rzeczy, takie jak wybór karty, która jest zbyt trudna. Co gorsza, wydaje się zmieniać między systemami. Ponadto dostałem ten tag „Generic_1” z aplay -l, gdzie pojawia się jako „karta 1” na liście. Wydawało się, że inni go używają, więc zrobiłem to samo ... co to znaczy, że nie mogę powiedzieć.
Chociaż możesz zmienić domyślną kartę alsa, edytując .asoundrc lub system asound.conf, istnieje kilka istotnych problemów z tym podejściem.
Jest delikatny i wymaga uznania aplikacji ponownie.
Jeśli chcesz przełączać karty w locie, naprawdę musisz użyć serwera dźwięku, który poprawnie oddziela aplikacje od karty dźwiękowej, takie jak pulseaudio.
Oto wariant odpowiedzi Matija Nalis i Tel. Oto, co zadziałało dla mnie:
~ / .asoundrc
defaults.pcm.!card 1
defaults.ctl.!card 1
(Odroid C0, Debian Jessie, HDMI audio jako karta 0 i USB Sound Card jako karta 1 zgodnie z aplay -l)
Uwaga: inne metody nie działały dla mnie, ponieważ / proc / asound / modules nie istnieje i nie ma modułu audio HDMI do czarnej listy lub o niskim priorytecie, jest on osadzony w jądrze. Wygląda na to, że musiałbym ponownie skompilować jądro bez obsługi audio HDMI, aby całkowicie je wyłączyć.