我最近对 Ubuntu 14.10 进行了全新安装,但我又一次遇到了 MPD 问题。我想我上次设法修复了它,但我不确定如何修复。
我的问题是能够将外部蓝牙扬声器与 MPD 一起使用。更好的是,我希望能够同时使用插入式和蓝牙扬声器。
不幸的是,MPD 不会在 Gnome 音频设置下产生音频的应用程序下显示,因此它忽略了我使用蓝牙扬声器的指令。我认为这是因为 MPD 使用的是 Alsa 而不是 Pulseaudio。
现在,在我的 mpd.conf 中有这些行
audio_output {
type "pulse"
name "MPD"
# server "localhost"
}
我也曾尝试对服务器线路进行降级,但在这种情况下,MPD 甚至没有启动。
澄清一下,MPD 在用户下运行mpd
,在组pulse
和下pulse-access
,但这似乎还不够。
现在,我相信我可以在我自己的用户下运行 MPD,这可以解决一些问题,但我宁愿不这样做,因为这台 PC 的其他用户可能也想听音乐。
让 MPD 使用 Pulseaudio 的正确方法是什么(或者做任何必要的事情来将它连接到默认扬声器以外的其他扬声器?)
与系统范围模式下的 MPD 不同,PulseAudio 在用户空间中运行。这意味着,包括蓝牙发现和提供蓝牙音频接收器在内的所有 pulseaudio 设置都是从用户会话完成的。
MPD 守护程序在系统范围内运行时,无法访问在用户会话中运行的 Pulse Audio 设备。由于理论上可以在系统范围模式下运行 Pulse Audio,因此不推荐这样做,至少我们不应该在桌面设置中这样做。从用户空间运行 MPD 将是一个更好的选择。
为了仍然能够使用运行中的 PulseAudio 服务器提供的设备,我们使用了 PulseAudio 和 MPD 的 TCP 流媒体功能。
这需要以下内容
/etc/mpd.conf
:然后我们还需要加载 TCP 协议以流式传输到正在运行的 PulseAudio 服务器。这可以添加到
/etc/pulse/default.pa
每次用户登录时加载(或从 CLI 启动以进行测试pacmd load-module
)。免责声明:这应该适用于切换到蓝牙音频设备,但我无法测试它,因为我的蓝牙加密狗在我的 14.10 测试系统上有问题。
@Takkat 提出的解决方案稍作修改也对我有用:
在 Debian Buster 上,我只需要在 mpd.conf选项中替换
localhost
为,过分的 mpd 尝试连接 IPv6 地址但失败了:127.0.0.1
server
::1
(很抱歉回答而不是评论,我是新来的,还没有足够的积分来发表评论。如果有人移动或删除此消息对我来说没问题)。