Kupiłem małą kartę dźwiękową USB. Moje Pi rozpoznaje urządzenie:
$ lsusb
Bus 001 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Jeśli uruchomię alsamixer
i ustawię dźwięk na USB PnP Sound Device
, słyszę dźwięk przez kartę dźwiękową USB. Aby było trwałe, piszę:
$ sudo alsactl store
Ale po ponownym uruchomieniu domyślną kartą dźwiękową USB nie jest już.
Więc próbuję zobaczyć listę odtwarzaczy:
$ 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
Edytuję, /etc/asound.conf
aby wyglądać tak, aby ustawić domyślne:
$ sudo nano /etc/asound.conf
pcm.!default {
type hw
card 1
device 0
}
Zrób a reboot
i nadal moją domyślną nie jest karta dźwiękowa USB.
Kiedy próbuję:
$ aplay /usr/share/sounds/alsa/Front_Center.wav -D sysdefault:CARD=1
Słyszę dźwięk z karty USB.
Próbowałem także:
$ sudo nano /etc/modprobe.d/alsa-base.conf
zmień indeks z -2 na 0:
options snd-usb-audio index=0
Uruchom ponownie i nadal nie ustawił domyślnego. Nawet skomentowałem linię i bez powodzenia.
Jak więc ustawić kartę USB jako domyślne urządzenie audio?
Edytować
dpkg -s pulseaudio
Wyświetla:
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.
.
Następnie:
cat /proc/asound/modules
Wyświetla:
0 snd_bcm2835
1 snd_usb_audio
usb
audio
input-device
PhillyNJ
źródło
źródło
dpkg -s pulseaudio
aby się dowiedzieć, powie coś takiego,dpkg-query: package 'pulseaudio' is not installed and no information is available
jeśli nie jest. Czy możesz uruchomić to polecenie i opublikować wynik?cat /proc/asound/modules
i opublikować dane wyjściowe?options snd-usb-audio index=0 [PRESS ENTER] options snd_bcm2835 index=1
:? Z tego, co widzę, po prostu zmieniaszsnd-usb-audio
indeks, a system go zmienia, ponieważ nie może mieć dwóch (usb i bcm2835) pod tym samym indeksem?Odpowiedzi:
Okazuje się, że OP starał się myśleć właściwą ścieżką
$ sudo nano /etc/modprobe.d/alsa-base.conf
i zmiana indeksu z -2 na 0 poprzez dodanie
options snd-usb-audio index=0
do pliku. To jednak nie działało.Prawidłowym sposobem jest dodanie,
options snd-usb-audio index=0
a następnie dodanieoptions snd_bcm2835 index=1
.Zasadniczo to wymusza wyłączenie domyślnego modułu dźwiękowego (
snd_bcm2835
), gdy moduł dźwiękowy usb (snd-usb-audio
) jest włączony.Wydaje mi się, że to, co wcześniej działo się z samym dodawaniem,
options snd-usb-audio index=0
polegało na tym, żesnd-usb-audio
moduł isnd_bcm2835
oba były w konflikcie, przy czym oba były włączone.źródło
W Raspbian Jesse zmiana domyślnego urządzenia audio jest łatwiejsza niż kiedyś.
Teraz wystarczy użyć tego polecenia, aby wyświetlić listę kart dźwiękowych wykrytych jako alsa i zanotować numer karty preferowanego urządzenia.
Następnie utwórz / edytuj plik konfiguracyjny alsa w
~/.asoundrc
lub systemowy w/etc/asound.conf
i wklej następujące linie:zmiana
card 0
na numer karty urządzenia dźwiękowego.Służy
alsamixer
do podwójnego sprawdzenia, czy ustawienie domyślne zostało ustawione poprawnie.Źródło:
źródło