Bir USB ses kartı aldım. Linux masaüstümü, takılı olması durumunda USB aygıtını tercih edeceği ve aygıt takılı olduğu zaman otomatik olarak değiştirileceği şekilde ayarlamak istiyorum. Mümkün mü ve nasıl?
Bir USB ses kartı aldım. Linux masaüstümü, takılı olması durumunda USB aygıtını tercih edeceği ve aygıt takılı olduğu zaman otomatik olarak değiştirileceği şekilde ayarlamak istiyorum. Mümkün mü ve nasıl?
Yanıtlar:
Kartınızı bulun
$ cat /proc/asound/cards
Geçerli ALSA kart isimleri almak için aşağıdakileri kullanın aplay
:
$ aplay -l
ve ardından /etc/asound.conf
aşağıdakileri oluşturun :
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
"Kart 1" i yukarıda belirtilen kartınızın numarası ya da adıyla değiştirin.
Alternatif olarak, kartlarınızın sırasını değiştirebilir, böylece USB kartınız kart 0 olacak ve düzenleme yapmadan çalışacaktır asound.conf
.
defaults.pcm.card 1 defaults.ctl.card 1
forum.palemoon.org/viewtopic.php?t=9661#p66016
Alsa'da varsayılan ses kartını seçme yöntemi budur. Pulse Audio kullanıyorsanız, bu yöntemin çalışması için Alsa'yı kurmak isteyebilirsiniz.
cat / proc / asound / modüller
Ses modüllerini listeleyecektir. Komutun çıktısı şöyle olacaktır (örneğin):
0 snd_hda_intel
1 snd_usb_intel
hangisinin yukarıdan usb ses kartınızın olduğunu kolayca kolayca anlayabilirsiniz.
nano /etc/modprobe.d/alsa-base.conf
Bu alsa-base.conf komutunu, tercih ettiğiniz kartın bir indeks = -2 / 0 ve diğer kartın endeks = -1 / 1 olacak şekilde düzenleyin (-2 ve -1 ile sopa)
seçenekler snd_hda_intel index = -1
seçenekler snd_usb_intel index = -2
Bu durumda usb aygıtı tercih edilir.
Çıkışta aynı ada sahip iki farklı kartınız varsa, bunun gibi:
seçenekler snd_hda_intel
seçenekler snd_hda_intel
hangisinin hangisi olduğunu bulmak için bu komutu verin:
kedi / proc / asound / kartlar
daha sonra modülleri şu şekilde düzenleyin:
seçenekler snd_hda_intel enable = 1 index = 0
seçenekler snd_hda_intel enable = 0 index = 1
Bir yeniden başlatma gerekli olabilir, bu nedenle ses kartlarınızı el ile değiştirmeniz gerekebilir.
Ayrıca USB aygıtımdan da çıkış alamadım. Benim cat /proc/asound/modules
çıkış oldu:
0 snd_hda_intel
1 snd_hda_intel
2 snd_usb_audio
Burada tarif edilen her iki cevabı da yardım etmedim (ki birçok indeks kombinasyonu ve yeniden başlatma ile). Sanırım sorun USB aygıtımın açılıştan sonra başlatılmasıydı. Her neyse, bu yüzden çalışma çözümüm şu şekilde güncellenerek diğer 2 ses cihazını kara listeye alıyor /etc/modprobe.d/blacklist.conf
:
blacklist snd_hda_intel
Matija Nalis'in cevabı sadece yarısı benim için işe yaradı (alsamixer varsayılan olarak değişti, ama aplay ve firefox gibi diğer şeyler inatla yanlış varsayılan ile sıkışıp kaldı). Debian wiki'den bu örnek benim için çalıştı (CentOS-6 laptopunda):
defaults.pcm.!card Generic_1
defaults.ctl.!card Generic_1
defaults.pcm.!device 0
defaults.ctl.!device 0
Kayıt için: ALSA belgelenmemiş ve özellikle hangi kartın kullanılacağını seçmek gibi bu çok basit şeyler çok zor. Daha kötüsü, sistemler arasında değişmiş gibi görünüyor. Ayrıca, bu "Generic_1" etiketini aplay-l'den aldığım listede "kart 1" olarak geliyor. Diğer insanlar onu kullanıyor gibiydi, ben de aynısını yaptım ... ne demek istediğimi.
Varsayılan alsa kartını .asoundrc veya system asound.conf dosyasını düzenleyerek değiştirebilseniz de, bu yaklaşımla ilgili birkaç önemli sorun vardır.
Kırılgandır ve uygulamanın yeniden başlatılmasının onurlandırılmasını gerektirir.
Anında kart değiştirmek istiyorsanız, o zaman pulseaudio gibi uygulamaları ses kartından doğru şekilde soyutlayan bir ses sunucusu kullanmanız gerekir.
İşte Matija Nalis ve Tel'in cevaplarının bir çeşididir. Bu benim için çalıştı.
~ / .Asoundrc
defaults.pcm.!card 1
defaults.ctl.!card 1
(Odroid C0, Debian Jessie, kart 0 olarak HDMI ses ve aplay'e göre kart 1 olarak USB Ses Kartı)
Not: / proc / asound / modülleri olmadığı ve kara listeye alınacak hdmi ses modülü olmadığı veya düşük önceliğe sahip olduğu için diğer yöntemler benim için işe yaramadı, çekirdeğe gömülü. Tamamen etkisiz hale getirmek için çekirdeği hdmi ses desteği olmadan yeniden derlemek zorunda kalacakmışım gibi görünüyor.