Я купил небольшую звуковую карту USB. My Pi распознает устройство:
$ lsusb
Bus 001 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Если я запускаю alsamixer
и устанавливаю звук на USB PnP Sound Device
, я могу слышать звук через звуковую карту USB. Чтобы сделать его постоянным, я набираю:
$ sudo alsactl store
Но после перезагрузки по умолчанию звуковая карта USB больше не используется.
Итак, я пытаюсь увидеть список устройств воспроизведения:
$ 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
Я редактирую, /etc/asound.conf
чтобы выглядеть так, чтобы установить по умолчанию:
$ sudo nano /etc/asound.conf
pcm.!default {
type hw
card 1
device 0
}
Сделайте, reboot
и все равно по умолчанию у меня нет звуковой карты USB.
Когда я пытаюсь:
$ aplay /usr/share/sounds/alsa/Front_Center.wav -D sysdefault:CARD=1
Я слышу звук с USB-карты.
Я также попробовал следующее:
$ sudo nano /etc/modprobe.d/alsa-base.conf
изменить индекс с -2 на 0:
options snd-usb-audio index=0
Перезагрузка и все равно он не установил значение по умолчанию. Я даже закомментировал строку и не повезло.
Итак, как мне установить USB-карту в качестве аудиоустройства по умолчанию?
редактировать
dpkg -s pulseaudio
Вывод:
Package: pulseaudio
Status: install ok installed
Priority: optional
Section: sound
Installed-Size: 4413
Maintainer: Pulseaudio maintenance team <pkg-pulseaudio-devel@lists.alioth.debian.org>
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.
.
Затем:
cat /proc/asound/modules
Вывод:
0 snd_bcm2835
1 snd_usb_audio
источник
dpkg -s pulseaudio
чтобы узнать, он скажет что-то вроде этого,dpkg-query: package 'pulseaudio' is not installed and no information is available
если это не так. Не могли бы вы выполнить эту команду и опубликовать вывод?cat /proc/asound/modules
и опубликовать вывод?options snd-usb-audio index=0 [PRESS ENTER] options snd_bcm2835 index=1
? Из того, что я вижу, вы просто меняетеsnd-usb-audio
индекс, а система снова меняет его, потому что у него не может быть двух (usb и bcm2835) с одним и тем же индексом?Ответы:
Оказывается, ОП пытался идти по правильному пути со своими попытками
$ sudo nano /etc/modprobe.d/alsa-base.conf
и изменение индекса от -2 до 0 путем добавления
options snd-usb-audio index=0
в файл. Однако это не сработало.Правильный способ сделать это - добавить,
options snd-usb-audio index=0
а затемoptions snd_bcm2835 index=1
.По сути, это заставляет
snd_bcm2835
отключить звуковой модуль по умолчанию (snd-usb-audio
), пока включен звуковой модуль usb ( ).То, что, как я полагаю, ранее происходило с простым добавлением,
options snd-usb-audio index=0
состояло в том, чтоsnd-usb-audio
модуль и модульsnd_bcm2835
были конфликтующими, причем оба были включены.источник
С Raspbian Jesse изменить аудиоустройство по умолчанию проще, чем раньше.
Теперь просто используйте эту команду для вывода списка звуковых карт, обнаруженных alsa, и запишите номер карты предпочитаемого вами устройства.
Затем создайте / отредактируйте файл конфигурации alsa по адресу
~/.asoundrc
или по общесистемному файлу в/etc/asound.conf
и вставьте эти строки:меняется
card 0
на номер карты вашего звукового устройства.Используйте,
alsamixer
чтобы дважды проверить, что значение по умолчанию установлено правильно.Источник:
источник