结果
我希望能够从一个房间走到另一个房间,听到同样的歌曲播放。就像你在所有房间里听收音机一样。
我想要那种效果,但我想听自己的音乐,可以这样做吗?
材料
- Ubuntu 笔记本电脑。
- 麦克电脑。
第一种选择
- 我已经根据这个答案找到并设置了软件
- 计算机和服务器中的所有软件都已设置好我应该如何继续? http://www.pulseaudio.org/wiki/FirstSteps
结果
我希望能够从一个房间走到另一个房间,听到同样的歌曲播放。就像你在所有房间里听收音机一样。
我想要那种效果,但我想听自己的音乐,可以这样做吗?
材料
第一种选择
是的,有了pulseaudio ,这很容易做到。您将需要安装并运行paprefs 以使您的声音设备可以通过网络使用。
这些设置允许通过网络发布声源和接收器,最好是发布到另一个 pulseaudio 服务器。
如果您的服务器设置没有桌面管理器,您需要先安装一个完善的系统(参见这个问题)。然后,您可以在“网络访问
/etc/pulse/default.pa
”部分编辑取消注释这些行:如果要使用 RTP 发送器,请取消注释RTP 发送器模块部分的这些行:
pulseaudio 服务器需要作为守护进程启动
pulseaudio -D
,以防它尚未运行。为了优化音质设置,/etc/pulse/daemon.conf
可以根据个人需要进行调整。在网络中流式传输音频的另一种方法是设置 Icecast 服务器(请参阅此问题)。
我不必做任何不寻常的事情。我有双上网本,既有 PulseAudio,也有来自英特尔的相当无名的硬件。我如何设置它有点像这样。
在您的服务器和客户端上运行 paprefs。在服务器上,确保启用了多播设置,并检查了服务器位。像这样
和多播位
在客户端,启用关于查找启用网络的设备的位, 并通过 pavucontrol 将输出设备设置为虚拟网络设备
中提琴 你现在应该有一些魔法
您最好的选择称为音乐播放器守护程序 (mpd)。
https://secure.wikimedia.org/wikipedia/en/wiki/Music_Player_Daemon
它是一个客户端服务器应用程序。您将音乐存储在服务器上,然后与您的客户端连接(很多人可以同时进行)并控制服务器。
它已经在 ubuntu 中,只需 apt-get install mpd
还有一些很好的文档: https ://wiki.archlinux.org/index.php/Mpd
MPD 可以流式传输音乐,因此您可以有很多客户端(或扬声器,如果您愿意的话)来播放音乐。
但不要真的期望任何好的质量。流媒体破坏听起来很糟糕(无论您使用 mpd 还是 pulseaudio)。将真正的扬声器连接到服务器并仅使用笔记本电脑来控制它是一个更好的主意。
使用此解决方案,您可以随时随地传输系统音频。
这里的关键是 ALSA 环回功能。所以首先你需要在 ALSA 中启用环回设备,它将作为输入设备(以及输出设备)出现在 PulseAudio 音量控制中。
然后可以将此设备添加到 mpd 服务器:
其中 hw:1,1 是环回输入设备,可以使用命令列出
aplay -l
那么你需要为mpd配置一个http输出插件。下面的例子看起来像
/etc/mpd.conf
这就对了。在音量控制播放选项卡中为您的音频源选择回送设备。
最后,您可以使用 httpd url 地址在目标点使用 VLC 或任何其他流渲染器:
http://192.168.1.38:8000
此答案也可在此处获得
为了添加到lazyPower的答案,我想评论一下“pulseaudio服务器”是音频设备所在的位置(在我的情况下,它是连接到笔记本电脑的蓝牙耳机),而“pulseaudio客户端”是音频播放到的位置网络选择音频接收设备。我花了几个小时才意识到这一点。
我不确定是否可以使用 DLNA/UPnP 实现这样的事情,因为我自己并不熟悉它,但是在这里抛出一些链接以防它有帮助:
尽管快速搜索结果表明无法同步...
没有好的解决方案(还)。有AVB,但它对 802.11 的支持仅限于时间同步。
如果您想流式传输到 Android 手机,您可以在服务器上使用 Foobar2000,在客户端使用BubbleUPnP(付费软件)。
foobar_v1.2.5.exe
$ wine foobar2000_v1.2.5.exe
~/.wine/drive_c/Program Files/
)ufw
没有阻塞相关流量该方法的优点是,如果您在 Android 上暂停,它将累积一个缓冲区(因为服务器仍在发送)。
在 Ubuntu(Wine 版本
1.5.28-0ubuntu1~ppa1
)和 Windows 上测试。