我安装了一个默认安装了pulseaudio的ubuntu。当pulseaudio运行时,这有效: aplay -D hw:2,7 / usr / share / xbmc / sounds / Bursting \ Bubbles / nav.wav
但是当没有运行pulseaudio守护进程时,它没有。该命令不会出错,但我听不到声音。
hw:2,7是Nvidia hdmi设备。
这是为什么?我无法理解。
答案 0 :(得分:4)
阅读此link。
它声明alsa(aplay)被配置为默认将其输出发送到pulseaudio(这是您的声音服务器)。
当您的声音服务器未运行时,您将无法听到您所观察到的声音。
另请参阅“PulseAudio删除”部分以将其与alsa分离。
我希望这会有所帮助。
答案 1 :(得分:1)
我有完全相同的问题;我在Ubuntu 11.04 Natty上。我已禁用pulseaudio
启动功能(例如10.10 - How can I replace pulseaudio with alsa? - Ask Ubuntu或PulseAudio - ArchWiki):
$ cat /etc/pulse/client.conf | grep -ve '^#\|^$'
; default-sink =
; default-source =
; default-server =
autospawn = no
; daemon-binary = /usr/bin/pulseaudio
; extra-arguments = --log-target=syslog
; cookie-file =
; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
$ pgrep pulse
$
在这种情况下,我会得到:
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC269 Analog [ALC269 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
$ aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=Intel
HDA Intel, ALC269 Analog
Default Audio Device
front:CARD=Intel,DEV=0
HDA Intel, ALC269 Analog
Front speakers
...
hw:CARD=Intel,DEV=0
HDA Intel, ALC269 Analog
Direct hardware device without any conversions
plughw:CARD=Intel,DEV=0
HDA Intel, ALC269 Analog
Hardware device with all software conversions
...
...但是,即使我明确指定了设备hw0:0
,它应该直接通过ALSA在设备上播放样本,绕过任何服务器:
aplay -f cd -v -Dhw:0,0 --test-position loop_s16_stereo.wav
...
BUFPOS: avg5507/16508 min0/0 max22016/22016 (22016) (0:0/0)
BUFPOS: avg2754/19261 min0/0 max22016/22016 (22016) (0:0/0)
...我甚至会看到设备设置 - AND缓冲区位置被更改 - 但仍然没有声音?即使alsamixer
显示所有控件都设置为最大值!
嗯,偶然的,我首先启用了pulseaudio
:
pulseaudio --start
...在完成一分钟的启动后,然后启动System / Preferences / Sound,或者在这里:
gnome-volume-control
...我意识到,在“输出音量”栏中,有一个“静音”复选框 - 它已被检查!所以我取消了它,声音测试开始工作;已关闭gnome-volume-control
,然后再次关闭pulseaudio
:
pulseaudio --kill
现在,我再也无法启动gnome-volume-control
(,无论10.10 - How do I adjust the volume without pulseaudio? - Ask Ubuntu中的提示如何 - 显然早期版本允许选择后端,通过“设备”下拉列表:old.png,但是更新的不是:new.png;所以如果没有pulseaudio
,它们将始终以“等待声音系统响应”而失败。
然而,现在我运行aplay
命令时 - 播放(按照预期)!
此静音显然与/desktop/gnome/sound/
gconf-editor
中的enable_esd
路径下的密钥有关(请参阅gnome - How to disable Alert volume from the command line? - Ask Ubuntu),但我无法确定哪一个;我只是注意到,目前event_sounds
,input_feedback_sounds
和aplay
都是为我检查的 - 这显然使pulseaudio
命令正常工作,即使没有{{1 }}。
希望这有助于某人,
干杯!
答案 2 :(得分:0)
使用-D pulse
应该可以达到以下目的:
aplay -D pulse /usr/share/xbmc/sounds/Bursting\ Bubbles/nav.wav
这样,游戏应使用您可以通过aplay -L
找到的Pulseaudio设备