昨天我的 MPD 停止工作了。到现在已经工作了好几个月了,但是选择音乐的时候却ncmpcpp
没有声音输出。
今天我尝试停止 mpd:
$ sudo systemctl stop mpd
$ sudo systemctl stop mpd.socket
然后我尝试在命令行上交互式运行它:
$ sudo mpd -v --no-daemon --stdout
当我重新运行时ncmpcpp
,这有效;可以播放音乐。我的主文件夹中没有 mpd conf 文件,因此我认为它应该使用/etc/mpd.conf
与 systemd 相同的 conf 文件 ( )。
然后我查看了日志文件。他们展示:
Jun 14 10:06 : player: played "Orbital/The Middle Of Nowhere/01-Way Out -_.mp3"
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave
Jun 14 10:06 : alsa_output: Failed to open "My ALSA Device" [alsa]: Failed to open ALSA device "default": Device or resource busy
Jun 14 10:06 : output: Failed to open audio output
Jun 14 10:06 : player: problems opening audio device while playing "Orbital/The Middle Of Nowhere/01-Way Out -_.mp3"
它看起来像是某种 ALSA 问题,但是......
- 为什么它只在使用 systemd 运行时影响我?
- 为什么它才刚刚开始成为一个问题(我认为我没有更新我的系统......)
我尝试列出声音设备的任何其他用户:
$ lsof /dev/snd/*
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
pulseaudi 3992 gravelld mem CHR 116,3 460 /dev/snd/pcmC0D0p
pulseaudi 3992 gravelld 16u CHR 116,8 0t0 521 /dev/snd/controlC1
pulseaudi 3992 gravelld 23u CHR 116,8 0t0 521 /dev/snd/controlC1
pulseaudi 3992 gravelld 24u CHR 116,2 0t0 459 /dev/snd/controlC0
pulseaudi 3992 gravelld 31u CHR 116,2 0t0 459 /dev/snd/controlC0
pulseaudi 3992 gravelld 36u CHR 116,2 0t0 459 /dev/snd/controlC0
pulseaudi 3992 gravelld 42u CHR 116,17 0t0 576 /dev/snd/controlC2
pulseaudi 3992 gravelld 52u CHR 116,2 0t0 459 /dev/snd/controlC0
pulseaudi 3992 gravelld 58u CHR 116,3 0t0 460 /dev/snd/pcmC0D0p
(gravelld
是我的用户 - 与我可以在命令行上成功运行 mpd 的用户相同)。