我正在尝试将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播放声音时,没有播放任何内容(没有错误,只有没有声音)。
那我在这里错过了什么?我只需将所有播放的声音发送到另一个节目......
我花了几个小时在谷歌和论坛,维基和博客上,但没有找到适用于我的设置的解决方案。
提前致谢!
编辑: raspbmc上不存在/ dev / audio,/ dev / snd只包含条目'timer'
答案 0 :(得分:2)
您可能需要为声音设备加载内核模块,如下所示:
# modprobe snd-bcm2835
这将导致一些新的设备文件出现在/dev/snd/
中,pulseaudio将检测到卡#0。如果我理解正确,这个设备是一个让Pulseaudio通过ALSA输出声音的层。将其添加到/etc/modules
以使其在启动时自动加载。
在我的设置中,ALSA默认通过HDMI输出声音。如果没有,或者您希望将其更改为phono jack,则可以使用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。
答案 1 :(得分: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 &gt;&gt; Alsa doesn’t work on my Raspberry Pi 2/3