两天前,我偶然发现了这个问题,无法解决。最终,我在AirBubble手册中阅读到不支持RAOP的信息。
我终于用Pulseaudio的DLNA / UPnP功能解决了它。就像您期望的那样工作。您可以在盒子上使用任何具有pulseaudio输出的应用播放声音,并在需要将其重定向到Android设备时选择流输出。
首先,安装Rygel:
$ sudo apt-get install rygel rygel-preferences rygel-gst-launch
然后更改文件/etc/rygel.conf,以使带有参数enable-transcoding的行如下所示:
enable-transcoding=false
然后加载DLNA和TCP模块并启动rygel:
$ pactl load-module module-http-protocol-tcp
$ pactl load-module module-rygel-media-server
$ pactl load-module module-null-sink sink_name=upnp format=s16be channels=2 rate=44100 sink_properties="device.description='DLNA/UPnP Streaming' device.bus='network' device.icon_name='network-server'"
$ rygel
在您的Android设备上,下载应用程序BubbleUPnP。您的Pulseaudio输出设备将列在服务器“%HOSTNAME%上的声音”下。在声音首选项中将计算机上的输出定向到DLNA设备。在BubbleUPnP中选择相同的输出。
请记住,BubbleUPnP会在前30分钟内免费提供流媒体播放。完整版价格为3,49欧元,但我认为这是值得的。我没有任何其他应用可以为我工作。
最后,如果您不喜欢使用rygel-preferences,可以禁用媒体浏览器:
$ rygel-preferences
另一个提示:这将直接流送原始LPCM数据,该数据恒定为〜250 kB / s。如果您使用的不是802.11 n网络,则任何虚假的WLAN活动都会导致卡顿。如果您打算将娱乐解决方案基于无线流,请考虑购买无线n路由器。
后续行动:转码
为了减少网络开销和卡顿现象(除非您使用802.11 n网络,否则这会发生),可以将音频流转码为mp3。
将此粘贴到〜/ .config / rygel.conf
[GstLaunch]
enabled=true
launch-items=mypulseaudiosink
mypulseaudiosink-title=Sound on @HOSTNAME@
mypulseaudiosink-mime=audio/mpeg
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! lamemp3enc target=quality quality=6
使用“ Gst Launch” DLNA服务,该服务现在将在您启动rygel时出现。
跟进2:FLAC
LAME最多可能导致2分钟(!)的延迟。另一方面,FLAC的速度非常快,通常为一秒以下。将以上示例中的行更改为:
mypulseaudiosink-mime=audio/flac
mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! flacenc quality=8
这样可以将流降低到大约100 kB / s,从而可以在具有多个用户的大多数802.11g网络上流畅播放。我在下载种子时进行了测试。在全速下,会有一些卡顿现象,但是当我将下载速度限制在最大带宽以下200 kB / s左右时,它又再次变得平稳。
另外,您还消除了质量损失。
上面的几个问题-请检查并编辑~/.config/rygel.conf
,/etc/.config/rygel.conf
如果默认情况下未加载它(?)。
接收器创建不适用于更高版本的Ubuntu。
但是,对我有用的是遵循所有说明(不创建接收器)。然后运行paprefs
,然后在“网络服务器”选项卡上,选择底部选项“将本地声音设备用作uPnP服务器”(也许还需要该子选项)。
启动rygel,然后在PulseAudio设置中选择新的“ DLNA / UPnP流”选项。
在BubbleUPnP上,选择“ Gst Launch”作为库。在应用程序中,选择“库”,现在顶部应该有一个名为“ Sound on”的选项。