Saya membeli kartu suara USB. Saya ingin mengatur desktop Linux saya sehingga lebih suka perangkat USB, jika sudah terpasang dan secara otomatis beralih sebagai perangkat (tidak) terpasang. Apakah mungkin, dan bagaimana?
Saya membeli kartu suara USB. Saya ingin mengatur desktop Linux saya sehingga lebih suka perangkat USB, jika sudah terpasang dan secara otomatis beralih sebagai perangkat (tidak) terpasang. Apakah mungkin, dan bagaimana?
Jawaban:
Temukan kartu Anda
$ cat /proc/asound/cards
Untuk mendapatkan nama kartu ALSA yang valid, gunakan aplay
:
$ aplay -l
lalu buat /etc/asound.conf
dengan berikut:
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
Ganti "kartu 1" dengan nomor atau nama kartu Anda yang ditentukan di atas.
Atau, Anda dapat mengubah pemesanan kartu Anda sehingga kartu USB Anda menjadi kartu 0 dan itu akan berfungsi tanpa mengedit asound.conf
.
defaults.pcm.card 1 defaults.ctl.card 1
forum.palemoon.org/viewtopic.php?t=9661#p66016
ini adalah metode untuk memilih kartu suara default di Alsa. Anda mungkin ingin menginstal Alsa agar metode ini berfungsi jika Anda menggunakan Pulse Audio.
cat / proc / asound / modules
akan mencantumkan modul suara Anda. Output dari perintah akan seperti ini (misalnya):
0 snd_hda_intel
1 snd_usb_intel
Anda dapat dengan mudah memahami yang mana kartu suara usb Anda dari atas.
nano /etc/modprobe.d/alsa-base.conf
edit alsa-base.conf ini sedemikian rupa sehingga kartu pilihan Anda memiliki indeks = -2 / 0 dan kartu lainnya memiliki indeks = -1 / 1 (tetap dengan -2 dan -1)
opsi snd_hda_intel index = -1
opsi snd_usb_intel index = -2
dalam hal ini perangkat usb adalah perangkat yang disukai.
jika Anda memiliki dua kartu differnt dengan nama yang sama dari output, seperti ini:
opsi snd_hda_intel
opsi snd_hda_intel
keluarkan perintah ini untuk mencari tahu yang mana:
cat / proc / asound / cards
kemudian edit modul dengan cara ini:
opsi snd_hda_intel aktifkan = 1 indeks = 0
opsi snd_hda_intel aktifkan = 0 indeks = 1
reboot mungkin diperlukan. jadi Anda mungkin harus secara manual mengganti kartu suara Anda.
Saya juga tidak bisa mendapatkan output dari perangkat USB saya. cat /proc/asound/modules
Output saya adalah:
0 snd_hda_intel
1 snd_hda_intel
2 snd_usb_audio
Saya telah mencoba kedua jawaban yang dijelaskan di sini yang tidak membantu (dengan banyak kombinasi indeks dan banyak restart). Saya pikir masalahnya adalah perangkat USB saya diinisialisasi setelah boot-up. Apa pun, jadi solusi kerja saya adalah daftar hitam perangkat 2 suara lainnya dengan memperbarui /etc/modprobe.d/blacklist.conf
sebagai:
blacklist snd_hda_intel
Jawaban dari Matija Nalis hanya setengah bekerja untuk saya (alsamixer mengubah default, tetapi hal-hal lain seperti aplay dan firefox keras kepala terjebak dengan default yang salah). Contoh dari wiki debian ini bekerja untuk saya (pada laptop CentOS-6):
defaults.pcm.!card Generic_1
defaults.ctl.!card Generic_1
defaults.pcm.!device 0
defaults.ctl.!device 0
Sebagai catatan: ALSA didokumentasikan dengan buruk, dan terutama hal-hal yang sangat sederhana ini seperti memilih kartu mana yang akan digunakan terlalu sulit. Lebih buruk lagi, tampaknya berubah di antara sistem. Juga, saya mendapatkan tag "Generic_1" dari aplay -l yang muncul sebagai "kartu 1" dalam daftar. Orang lain sepertinya menggunakannya, jadi saya melakukan hal yang sama ... apa artinya saya tidak bisa mengatakannya.
Meskipun Anda dapat mengubah kartu alsa default dengan mengedit .asoundrc atau sistem asound.conf ada beberapa masalah signifikan dengan pendekatan ini.
Ini rapuh, dan membutuhkan restart aplikasi untuk dihormati.
Jika Anda ingin beralih kartu dengan cepat maka Anda benar-benar perlu menggunakan server suara yang mengabstraksi aplikasi dari kartu suara dengan benar seperti pulseaudio.
Berikut adalah varian dari jawaban Matija Nalis dan Tel. Inilah yang bekerja untuk saya:
~ / .asoundrc
defaults.pcm.!card 1
defaults.ctl.!card 1
(Odroid C0, Debian Jessie, audio HDMI sebagai kartu 0 dan Kartu Suara USB sebagai kartu 1 menurut aplay -l)
Catatan: metode lain tidak berfungsi untuk saya, karena / proc / asound / modules tidak ada dan tidak ada modul audio HDMI ke daftar hitam atau diprioritaskan, itu tertanam ke dalam kernel. Sepertinya saya harus mengkompilasi ulang kernel tanpa dukungan audio HDMI untuk menonaktifkannya sepenuhnya.