PulseAudio не обнаруживает звуковые карты на RaspBMC

Я пытаюсь записать аудиовыход по умолчанию из raspbmc (работающего на модели Raspberry Pi b) в необработанный поток wav (который я хочу передать в piFM для передачи звука на FM-тюнер). Мне не удалось использовать arecord, и я обнаружил, что звуковой движок по умолчанию для raspbmc — pulseaudio, поэтому я попробовал все, используя parecord/pacat.

Мой пи подключен к телевизору через HDMI и звук работает нормально. Но список pactl дает мне только следующие приемники/источники:

Sink #0
        State: SUSPENDED
        Name: auto_null
        Description: Dummy Output
        Driver: module-null-sink.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 4
        Mute: no
        Volume: 0: 100% 1: 100%
                0: 0.00 dB 1: 0.00 dB
                balance 0.00
        Base Volume: 100%
                     0.00 dB
        Monitor Source: auto_null.monitor
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY 
        Properties:
                device.description = "Dummy Output"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm

Source #0
        State: SUSPENDED
        Name: auto_null.monitor
        Description: Monitor of Dummy Output
        Driver: module-null-sink.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 4
        Mute: no
        Volume: 0: 100% 1: 100%
                0: 0.00 dB 1: 0.00 dB
                balance 0.00
        Base Volume: 100%
                     0.00 dB
        Monitor of Sink: auto_null
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY 
        Properties:
                device.description = "Monitor of Dummy Output"
                device.class = "monitor"
                device.icon_name = "audio-input-microphone"
        Formats:
                pcm

Кроме того, aplay дает мне:

pi@raspbmc:~$ aplay -l
aplay: device_list:252: no soundcards found...

pi@raspbmc:~$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)

При попытке записать звук с устройства по умолчанию ничего не записывается. Когда я пытаюсь воспроизвести звук с помощью paplay, ничего не воспроизводится (нет ошибок, просто нет звука).

Итак, что мне здесь не хватает? Мне просто нужно отправить все воспроизводимые звуки в другую программу...

Я провел часы в Google и на форумах, вики и блогах, но пока не нашел решения, которое работает для моей установки.

Заранее спасибо!

РЕДАКТИРОВАТЬ: /dev/audio НЕ существует на raspbmc, /dev/snd содержит только запись «таймер»


person blckwngd    schedule 19.09.2013    source источник
comment
Вы уже нашли решение этой проблемы?   -  person white_gecko    schedule 31.12.2014


Ответы (2)


Вероятно, вам нужно загрузить модуль ядра для звукового устройства, например:

# modprobe snd-bcm2835

Это приведет к появлению некоторых новых файлов устройств в /dev/snd/, которые pulseaudio обнаружит как Card #0. Если я правильно понимаю, это устройство представляет собой слой, который позволяет выводить звук pulseaudio через ALSA. Добавьте его в свой /etc/modules, чтобы он загружался автоматически при загрузке.

В моей настройке ALSA по умолчанию выводит звук через HDMI. Если это не так, или если вы хотите заменить его на фоно-разъем, вы можете использовать команду amixer:

$ amixer cset numid=3 <output>

0=auto
1=headphones
2=hdmi

Источник: http://www.raspberrypi.org/forums/viewtopic.php?f=38&t=27019. В отличие от их примера, я мог выполнить эту команду как непривилегированный пользователь pi, а не root.

person Anton Eliasson    schedule 23.04.2014

Я боролся за это около недели и так. Хотя ALSA включен для snd_bcm2835 в моем linux-menuconfig.

pi@raspi:~$ aplay -l
aplay: device_list:250: no soundcards found...

а также

# aplay output.wav 
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function 
snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_concat 
returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name 
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer 
returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file 
or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM default
aplay: main:788: audio open error: No such file or directory

Это исправлено:

Попробуйте добавить dtparam=audio=on в /boot/config.txt.

Источник: большое спасибо fzinken >> Alsa не работает на моем Raspberry Pi 2/3

person naveenKumar    schedule 09.11.2017