Saya membeli kartu suara USB kecil. Pi saya mengenali perangkat:
$ lsusb
Bus 001 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Jika saya menjalankan alsamixer
dan mengatur audio USB PnP Sound Device
, saya dapat mendengar audio melalui kartu suara USB. Untuk membuatnya permanen saya ketik:
$ sudo alsactl store
Namun setelah reboot, standarnya bukan lagi kartu suara USB.
Jadi saya mencoba melihat daftar perangkat pemutaran:
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Saya mengedit /etc/asound.conf
agar terlihat seperti ini untuk menetapkan default:
$ sudo nano /etc/asound.conf
pcm.!default {
type hw
card 1
device 0
}
Lakukan reboot
dan masih standar saya bukan kartu suara USB.
Ketika saya mencoba:
$ aplay /usr/share/sounds/alsa/Front_Center.wav -D sysdefault:CARD=1
Saya mendengar suara dari kartu USB.
Saya juga mencoba yang berikut:
$ sudo nano /etc/modprobe.d/alsa-base.conf
ubah indeks dari -2 menjadi 0:
options snd-usb-audio index=0
Nyalakan kembali dan tetap saja itu tidak menetapkan default. Saya bahkan berkomentar di luar garis dan tidak berhasil.
Jadi bagaimana cara mengatur kartu USB sebagai Perangkat Audio default saya?
Edit
dpkg -s pulseaudio
Menampilkan:
Package: pulseaudio
Status: install ok installed
Priority: optional
Section: sound
Installed-Size: 4413
Maintainer: Pulseaudio maintenance team <[email protected]>
Architecture: armhf
Multi-Arch: foreign
Version: 2.0-6
Depends: libasound2 (>= 1.0.24.1), libc6 (>= 2.13-28), libcap2 (>= 2.10), libdbus-1-3 (>= 1.1.1), libfftw3-3, libgcc1 (>= 1:4.4.0), libice6 (>= 1:1.0.0), libltdl7 (>= 2.4.2), liborc-0.4-0 (>= 1:0.4.16), libpulse0 (= 2.0-6), libsamplerate0 (>= 0.1.7), libsm6, libsndfile1 (>= 1.0.20), libspeexdsp1 (>= 1.2~beta3.2-1), libstdc++6 (>= 4.1.1), libsystemd-daemon0 (>= 31), libsystemd-login0 (>= 31), libtdb1 (>= 1.2.7+git20101214), libudev0 (>= 146), libwebrtc-audio-processing-0, libx11-6, libx11-xcb1, libxcb1, libxtst6, adduser, lsb-base (>= 3.2-13), consolekit, udev (>= 143), libasound2-plugins
Recommends: pulseaudio-module-x11, gstreamer0.10-pulseaudio, rtkit
Suggests: pulseaudio-utils, pavumeter, pavucontrol, paman, paprefs
Breaks: libltdl3 (<< 1.5.24-1)
Conffiles:
/etc/init.d/pulseaudio 8580c855e4547e8a3c84dca96d9bbd7e
/etc/default/pulseaudio ee26e4427d72cf16a59b1a8ce2712c66
/etc/xdg/autostart/pulseaudio.desktop 5e19ffbe14d21702be1edd3256c4265d
/etc/xdg/autostart/pulseaudio-kde.desktop fd20c58d32035e908a0866784e4e3511
/etc/pulse/system.pa 408f6d6119d7afce522ab1b394709134
/etc/pulse/default.pa a9ac2a96744beae0913865fafd3d2582
/etc/pulse/daemon.conf 6c9e4c973cabb406beee3ec81c63fcd7
/etc/dbus-1/system.d/pulseaudio-system.conf 69d56dc5342bf589a2e199541709a452
Description: PulseAudio sound server
PulseAudio, previously known as Polypaudio, is a sound server for POSIX and
WIN32 systems. It is a drop in replacement for the ESD sound server with
much better latency, mixing/re-sampling quality and overall architecture.
.
Kemudian:
cat /proc/asound/modules
Menampilkan:
0 snd_bcm2835
1 snd_usb_audio
sumber
dpkg -s pulseaudio
untuk mencari tahu, itu akan mengatakan sesuatu seperti itudpkg-query: package 'pulseaudio' is not installed and no information is available
jika tidak. Bisakah Anda menjalankan perintah itu dan memposting output?cat /proc/asound/modules
dan memposting output?options snd-usb-audio index=0 [PRESS ENTER] options snd_bcm2835 index=1
:? Dari apa yang saya lihat, Anda hanya mengubahsnd-usb-audio
indeks, dan sistem mengubahnya kembali karena tidak dapat memiliki dua (usb dan bcm2835) pada indeks yang sama?Jawaban:
Ternyata OP berpikir di jalan yang benar dengan usahanya
$ sudo nano /etc/modprobe.d/alsa-base.conf
dan mengubah indeks dari -2 ke 0 melalui penambahan
options snd-usb-audio index=0
ke file. Namun, ini tidak berhasil.Cara yang benar untuk melakukannya adalah menambahkan
options snd-usb-audio index=0
diikuti olehoptions snd_bcm2835 index=1
.Pada dasarnya apa yang dilakukan ini adalah memaksa modul suara default (
snd_bcm2835
) dinonaktifkan ketika modul suara usb (snd-usb-audio
) diaktifkan.Apa yang saya percaya sebelumnya terjadi hanya dengan menambahkan
options snd-usb-audio index=0
adalah bahwasnd-usb-audio
modul dansnd_bcm2835
keduanya saling bertentangan, dengan keduanya diaktifkan.sumber
Dengan Raspbian Jesse, untuk mengubah perangkat audio standar lebih sederhana dari sebelumnya.
Sekarang, cukup gunakan perintah ini untuk mendaftar kartu suara yang terdeteksi alsa Anda, dan catat nomor kartu perangkat yang Anda pilih.
Kemudian buat / edit file konfigurasi alsa di
~/.asoundrc
, atau sistem yang lebar di/etc/asound.conf
, dan tempelkan baris ini:mengubah
card 0
nomor kartu perangkat suara Anda.Gunakan
alsamixer
untuk mengecek apakah default telah diatur dengan benar.Sumber:
sumber