mpd:无法读取“我的 ALSA 设备”的混频器:没有这样的混频器控制:PCM

mpd:无法读取“我的 ALSA 设备”的混频器:没有这样的混频器控制:PCM

我在 Ubuntu 12.04.3 LTS 无头、无 X 服务器上运行了 mpd/mpc。我决定换掉歌曲;我将旧歌曲移出 /Music 目录,将新歌曲移入,然后运行mpc update,但无法继续播放。

自然而然地,我开始根据在 Google 上找到的信息进行一些改变,但似乎没有任何效果。

当我运行 mpc 命令时,例如mpc status,我收到错误消息Failed to read mixer for 'My ALSA Device': no such mixer control: PCM

当我使用命令sudo aplay piano.wav和类似命令时,我可以播放音乐。

以下是一些诊断信息:http://pastebin.com/1CzbeYBC。 它包含

  • /etc/mpd.conf
  • 播放-L
  • 播放-l
  • 命令行中的 mpd verbose
  • amixer 和 amixer 内容

我将非常感激任何指点!谢谢。

答案1

@CL 是对的;alsa 可以工作,但是 mpd 不能。

我发现如果我切换到 mpd 用户的主文件夹(export HOME=/var/log/mpd),aplay 命令(例如sudo -u mpd aplay /usr/share/sounds/alsa/Front_Center.wav)将不再起作用。

继续谷歌搜索直到我找到http://ubuntuforums.org/showthread.php?t=1138454

解决方案是sudo apt-get remove pulseaudio。一旦完成,一切又恢复正常。

答案2

由于您使用带有 pulseaudio 的 MPD,因此您可以相应地更改 audio_output:

sudo nano /etc/mpd.conf

评论此部分:

#audio_output {
#   type       "alsa"
#   name       "My ALSA Device"
#   device      "hw:0,0"    # optional
#   mixer_type      "hardware"      # optional
#   mixer_device    "default"   # optional
#   mixer_control   "PCM"       # optional
#   mixer_index "0"     # optional
#}

取消注释

audio_output {
    type        "pulse"
    name        "My Pulse Output"
#   server      "remote_server"     # optional
#   sink        "remote_server_sink"    # optional
}

您可能还需要添加 mpd 用户的权限:

sudo adduser mpd pulse
sudo adduser mpd pulse-access

重新启动 MPD:

sudo systemctl restart mpd

答案3

amixer对我来说,解决方案是按照输出建议将mixer_control设置为“耳机” 。

audio_output {
   type          "alsa"
   name          "My ALSA Device"
   mixer_control "Headphones"
}

这是适用于 Raspberry Pi 1 B 的。

相关内容