USB-карта в качестве аудиоустройства по умолчанию

32

Я купил небольшую звуковую карту 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
PhillyNJ
источник
Вопрос ... у вас есть установленный Pulseaudio случайно? Беги, dpkg -s pulseaudioчтобы узнать, он скажет что-то вроде этого, dpkg-query: package 'pulseaudio' is not installed and no information is availableесли это не так. Не могли бы вы выполнить эту команду и опубликовать вывод?
RPiAwesomeness
Кроме того, вы можете запустить cat /proc/asound/modulesи опубликовать вывод?
RPiAwesomeness
@RPiAwesomeness - Обновлено с запрошенной информацией.
PhillyNJ
1
Хорошо, вы пробовали это: options snd-usb-audio index=0 [PRESS ENTER] options snd_bcm2835 index=1? Из того, что я вижу, вы просто меняете snd-usb-audioиндекс, а система снова меняет его, потому что у него не может быть двух (usb и bcm2835) с одним и тем же индексом?
RPiAwesomeness
2
Ура! : D Рад, что помог, и нам никогда не приходилось удалять pulseaudio! Ура для интернета :)
RPiAwesomeness

Ответы:

28

Оказывается, ОП пытался идти по правильному пути со своими попытками

$ 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были конфликтующими, причем оба были включены.

RPiAwesomeness
источник
Нет проблем. Опять всегда рад помочь: D
RPiAwesomeness
Милая! Это решило проблему и для меня. Мне пришлось перезагрузить компьютер после изменения alsa-base.conf, FWIW.
Эндрю Свон
@AndrewSwan Не за что! Рад помочь! :)
RPiAwesomeness
14

С Raspbian Jesse изменить аудиоустройство по умолчанию проще, чем раньше.

Теперь просто используйте эту команду для вывода списка звуковых карт, обнаруженных alsa, и запишите номер карты предпочитаемого вами устройства.

aplay -l

Затем создайте / отредактируйте файл конфигурации alsa по адресу ~/.asoundrcили по общесистемному файлу в /etc/asound.confи вставьте эти строки:

pcm.!default {
    type hw
    card 0
}

ctl.!default {
    type hw           
    card 0
}

меняется card 0на номер карты вашего звукового устройства.

Используйте, alsamixerчтобы дважды проверить, что значение по умолчанию установлено правильно.

Источник:

полутона
источник
1
@Greenonline, re: мой «вопрос» со вчерашнего дня, я действительно не мог добавить этот ответ прошлой ночью, потому что он был защищен сообществом, и у меня еще не было 10 представителей! Спасибо за дружеский комментарий, хотя, это помогло :)
полутона
Ах хорошо. Спасибо. Я думал, что этот ответ выглядел знакомым ... :-)
Greenonline
Принятый ответ не сработал для меня, но это сработало! Спасибо.
Twiffy
2
Это не сработало для меня, я вместо этого получил его, написав это в asound.conf "pcm.! Default {type plug slave {pcm" hw: 1,0 "}} ctl.! Default {type hw card 1} "От: linuxcircle.com/2013/05/08/…
Moulde