J'ai acheté une petite carte son USB. Mon Pi reconnaît l'appareil:
$ lsusb
Bus 001 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Si je lance alsamixer
et que je règle le son USB PnP Sound Device
, je peux entendre le son via la carte son USB. Pour le rendre permanent, je tape:
$ sudo alsactl store
Mais après le redémarrage, la valeur par défaut n'est plus la carte son USB.
Alors j'essaie de voir une liste des appareils de lecture:
$ 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
Je modifie /etc/asound.conf
pour ressembler à ceci pour définir la valeur par défaut:
$ sudo nano /etc/asound.conf
pcm.!default {
type hw
card 1
device 0
}
Faites un reboot
et ma valeur par défaut n'est pas la carte son USB.
Quand j'essaye:
$ aplay /usr/share/sounds/alsa/Front_Center.wav -D sysdefault:CARD=1
J'entends le son de la carte USB.
J'ai également essayé ce qui suit:
$ sudo nano /etc/modprobe.d/alsa-base.conf
changez l'index de -2 à 0:
options snd-usb-audio index=0
Redémarrez et il n'a toujours pas défini la valeur par défaut. J'ai même commenté la ligne et pas de chance.
Alors, comment puis-je définir la carte USB comme périphérique audio par défaut?
modifier
dpkg -s pulseaudio
Affiche:
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.
.
Ensuite:
cat /proc/asound/modules
Affiche:
0 snd_bcm2835
1 snd_usb_audio
la source
dpkg -s pulseaudio
pour le découvrir, il dira quelque chose comme çadpkg-query: package 'pulseaudio' is not installed and no information is available
s'il ne l'est pas. Pourriez-vous exécuter cette commande et publier la sortie?cat /proc/asound/modules
et publier la sortie?options snd-usb-audio index=0 [PRESS ENTER] options snd_bcm2835 index=1
:? D'après ce que je peux voir, vous modifiez simplement l'snd-usb-audio
index, et le système le modifie à nouveau car il ne peut pas avoir deux (usb et bcm2835) au même index?Réponses:
Il s'avère que le PO réfléchissait sur la bonne voie en essayant
$ sudo nano /etc/modprobe.d/alsa-base.conf
et changer l'index de -2 à 0 via l'ajout
options snd-usb-audio index=0
au fichier. Cependant, cela ne fonctionnait pas.La bonne façon de le faire est d'ajouter
options snd-usb-audio index=0
suivi deoptions snd_bcm2835 index=1
.Essentiellement, cela oblige le module de son par défaut (
snd_bcm2835
) à être désactivé alors que le module de son USB (snd-usb-audio
) est activé.Je pense que ce qui se passait auparavant avec l'ajout
options snd-usb-audio index=0
était que lesnd-usb-audio
module et lesnd_bcm2835
étaient en conflit, les deux étant activés.la source
Avec Raspbian Jesse, changer le périphérique audio par défaut est plus simple qu'auparavant.
Maintenant, utilisez simplement cette commande pour répertorier vos cartes son détectées par alsa et notez le numéro de carte de votre appareil préféré.
Ensuite, créez / modifiez le fichier de configuration alsa à
~/.asoundrc
, ou le système à l'échelle/etc/asound.conf
, et collez ces lignes:changer
card 0
le numéro de carte de votre périphérique audio.Utilisez
alsamixer
pour vérifier que la valeur par défaut a été définie correctement.La source:
la source