注意:由于信噪比接近于 0,我重写了这个问题。
刚刚在我的 Ubuntu 14.04.2 系统上安装了 pulseaudio-dnla,为我的 ROCKI 创建脉冲接收器,这样我就可以将音频流式传输到我的任何 ROCKI,希望从 mpd 中选择要流式传输到哪个 ROCKI。
Pulseaudio-dlna 与我的 ROCKI 和 VLC 配合得很好 - 我可以选择我的 3 个 ROCKI 中的任何一个作为 VLC 音频设备按名字,然后 pulsaudio-dlna 将音频发送到该 ROCKI。再简单不过了。
但是我无法让它运行 mpd。我通过在用户空间中运行 mpd 解决了用户空间/系统范围的 pulseaudio/mpd 问题。我可以使用 padevchooser 让它将音频发送到一个设备(如 Massimo 在下面建议的那样)。但是当我尝试使用适用于 VLC 的相同接收器名称为每个 ROCKI 创建输出时:
audio_output {
type "pulse"
name "rockigreen"
}
audio_output {
type "pulse"
name "rockigarage"
}
...我的 ROCKI 没有发出声音。
答案1
解决方案是 .mpdconf 的 audio_output 部分中的“sink”字段。我误以为 mpd 使用“name”字段来选择使用哪个 pulseaudio sink,所以我将“name”设置为 pulseaudio 名称(即“rockigreen”)。实际上,mpd 的“name”字段只是用于输出的标签。但是,如果您将 pulseaudio“name”放在 .mpdconf“sink”字段中,mpd 会将音频发送到该名称的 sink。
(您也可以使用脉冲音频接收器索引(0 或 1 或 2 等),但接收器索引会随着重新启动和设备断开/重新连接而改变,因此脉冲音频“名称”是更好的选择。)
我的 .mpdconfig 文件的以下部分允许我通过任何 mpd 客户端软件选择 3 个脉冲接收器中的任意一个或全部(无论我选择什么标签):
audio_output {
type "pulse"
name "My A/V Receiver (via pulse)"
sink "alsa_output.pci-0000_01_00.1.hdmi-surround-extra2"
}
audio_output {
type "pulse"
name "The Rocki In My Bedroom"
sink "rockigreen"
}
audio_output {
type "pulse"
name "The Rocki In My Garage"
sink "rockigarage"
}
我以当前用户(我)的身份运行 pulse、pulseaudio-dlna 和 mpd。正如 Massimo 在其评论中指出的那样,如果您不这样做,这可能无法正常工作,或者可能需要进行复杂的用户/组权限更改。
答案2
我再次测试了以下内容,它在另一台计算机上运行正常,没有任何问题。也许你在将 TCP 模块插入后没有重新启动 mpd脉冲音频。或者也许您没有启用第二个输出。
更改你的第二个输出mpd配置文件到:
audio_output {
type "pulse"
name "MPD Pulse Output"
server "localhost"
}
将 TCP 模块插入脉冲音频:
pactl load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
重新启动 mpd:
sudo service mpd restart
安装 mpc 以检查输出:
sudo apt-get install mpc
mpc outputs
确保启用了正确的输出:
mpc enable <number-of-your-output>
播放一首歌曲,脉冲音频现在应该知道 mpd 流了,所以你可以通过帕武控制或 ubuntu 声音设置在您的设备上播放。