pulseaudio-dlna 无法与 mpd 和 ROCKI 设备配合使用

pulseaudio-dlna 无法与 mpd 和 ROCKI 设备配合使用

注意:由于信噪比接近于 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 声音设置在您的设备上播放。

相关内容