3

我安装了 ubuntu,默认安装了 pulseaudio。当 pulseaudio 运行时,它可以工作: aplay -D hw:2,7 /usr/share/xbmc/sounds/Bursting\ Bubbles/nav.wav

但是当没有 pulseaudio 守护进程运行时,它不会。该命令没有给出错误,但我听不到声音。

hw:2,7 是 Nvidia hdmi 设备。

为什么是这样?我想不通。

4

3 回答 3

4

阅读此链接

它指出 alsa (aplay) 默认配置为将其输出发送到 pulseaudio (这是您的声音服务器)。

当您的声音服务器未运行时,您将无法听到您观察到的声音。

另请参阅“PulseAudio Removal”部分以将其与 alsa 分离。

我希望这有帮助。

于 2011-08-25T09:10:53.540 回答
2

使用-D pulse应该像这样的伎俩:

aplay -D pulse /usr/share/xbmc/sounds/Bursting\ Bubbles/nav.wav

这样 aplay 应该使用你应该能够找到的pulseaudio设备aplay -L

于 2019-05-25T21:20:53.127 回答
1

我有同样的问题; 我在 Ubuntu 11.04 Natty 上。我pulseaudio禁用了启动(例如10.10 - 如何用 alsa 替换 pulseaudio? - 询问 UbuntuPulseAudio - 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了 device ,它应该直接通过 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)

...而且我什至会看到设备设置-和缓冲区位置正在更改-仍然没有声音?甚至alsamixer显示所有控件设置为最大值!

好吧,只是偶然,我首先启用了pulseaudio

pulseaudio --start

...在启动完成一分钟后,然后启动系统/首选项/声音,或者在这里:

gnome-volume-control

...我意识到,在“输出音量”栏旁边,有一个“静音”复选框 - 它已被选中!所以我取消选中它,声音测试开始工作;关闭gnome-volume-control然后pulseaudio再次关闭:

pulseaudio --kill

现在,我无法再开始gnome-volume-control了(不管10.10 中的提示如何 - 如何在没有脉冲音频的情况下调整音量? - 问 Ubuntu - 显然早期版本允许通过“设备”下拉列表选择后端:old.png,但较新的版本不要t: new.png;因此,如果没有pulseaudio,它们将始终以“等待声音系统响应”而失败)。

但是,现在当我运行aplay命令时 - 它会播放(按预期播放)!

这个静音显然与/desktop/gnome/sound/路径下的一个键有关gconf-editor(参见gnome - 如何从命令行禁用警报音量? - 询问 Ubuntu),但我不知道是哪一个;我只是注意到此刻,enable_esdevent_soundsinput_feedback_sounds为我检查 - 这显然使aplay命令正常工作,即使没有pulseaudio.

希望这对某人有帮助,
干杯!

于 2013-08-10T04:25:01.020 回答