У меня Raspberry Pi с Raspbian, к которому подключена дешевая USB-карта SoundBlaster. Карта видна ALSA:
# aplay -l | grep card
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
card 1: S3 [Sound Blaster Play! 3], device 0: USB Audio [USB Audio]
И я могу воспроизводить звук через эту карту:
$ speaker-test -Dhw:1,0 -c2 -twav
выводит «передний левый» и «передний правый» "женским голосом через подключенные динамики.
Однако PulseAudio не распознает карту:
$ pacmd list-sinks|egrep -i 'index:|name:'
* index: 0
name: <auto_null>
Я даже не уверен, как выбрать эту карту в alsamixer
; нажатие клавиши «F2» и просмотр /proc/asound/cards
показывает это, но затем «F6» показывает только карту по умолчанию и пытается ввести другое значение, например «S3» (название карты), «1» или «hw1». или «hw: 1,0» просто возвращает «Невозможно открыть устройство микширования [что угодно]. Нет такого файла или каталога.»
Я пробовал множество решений, которые нашел; никто из них не работает. Например, добавление load-module module-alsa-sink device=hw:1,0
к /etc/pulse/default.pa
не вызывает ошибку, но также не изменяет вывод pacmd list-sinks
и не дает никакого звука.
Добавление файла конфигурации ALSA, состоящего из из:
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
делает доступной USB-карту для alsamixer, и я могу затем воспроизводить ее напрямую через ALSA, например, $ aplay test.wav
, но она по-прежнему невидима для Pulse через list-sinks
и если я пытаюсь воспроизвести что-либо через Pulse, я получаю ошибки или нет звука, например, с mocp sample.mp3
нет звука.
Я не могу себе представить, что это должно быть так сложно, поэтому я предполагаю, что ' Я упускаю что-то очевидное. Может кто-нибудь сказать мне, что это такое?
[РЕДАКТИРОВАТЬ:]
Вывод ls -l /dev/snd
:
$ ls -l /dev/snd
total 0
drwxr-xr-x 2 root root 60 Jan 12 17:01 by-id
drwxr-xr-x 2 root root 80 Jan 12 17:01 by-path
crw-rw---- 1 root audio 116, 0 Jan 12 17:01 controlC0
crw-rw---- 1 root audio 116, 32 Jan 12 17:01 controlC1
crw-rw---- 1 root audio 116, 16 Jan 12 17:01 pcmC0D0p
crw-rw---- 1 root audio 116, 17 Jan 12 17:01 pcmC0D1p
crw-rw---- 1 root audio 116, 18 Jan 12 17:01 pcmC0D2p
crw-rw---- 1 root audio 116, 56 Jan 12 17:01 pcmC1D0c
crw-rw---- 1 root audio 116, 48 Jan 12 17:01 pcmC1D0p
crw-rw---- 1 root audio 116, 1 Jan 12 17:01 seq
crw-rw---- 1 root audio 116, 33 Jan 12 17:01 timer