3

我正在尝试将来自 raspbmc(在 Raspberry Pi Model b 上运行)的默认音频输出记录到原始 wav 流(我想将其通过管道传输到 piFM 以将音频传输到 FM 调谐器)。我没有成功使用 arecord 并发现 raspbmc 的默认音频引擎是 pulseaudio,所以我尝试了使用parecord/ pacat

我的 pi 通过 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 播放声音时,没有播放任何声音(没有错误,只是没有声音)。

那么我在这里错过了什么?我只需要将所有播放的声音发送到另一个程序...

我在谷歌和论坛、维基和博客上花了几个小时,但还没有找到适合我的设置的解决方案。

提前致谢!

编辑: /dev/audio 在 raspbmc 上不存在,/dev/snd 仅包含条目“计时器”

4

2 回答 2

2

您可能需要为声音设备加载内核模块,如下所示:

# modprobe snd-bcm2835

这将导致一些新设备文件出现在/dev/snd/pulseaudio 将检测为卡#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 用户身份执行此命令。

于 2014-04-23T13:16:09.037 回答
0

我已经为此奋斗了大约一个星期。尽管在我的 linux-menuconfig 中为 snd_bcm2835 启用了 ALSA。

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 上不起作用

于 2017-11-09T09:14:09.210 回答