是否可以将所有音频从Raspberry Pi重定向到AirPlay设备(例如Airport Express)?
如果我也可以从命令行执行所有操作,那就太好了,因此我可以设置一些脚本来切换不同的设备。
#1 楼
您可以根据需要使用mpd,pulseaudio和raop2模块:mpd用于管理播放列表,库等(
sudo apt-get install mpd
)pulseaudio用于管理音频输出:raop用于AirPlay,或任何其他输出设备,例如模拟插孔,HDMI,http流服务等(
sudo apt-get install pulseaudio
)如果pulseaudio内置的原始raop模块不起作用,则用于pulseaudio的raop2模块/>我必须从源代码构建pulseaudio,以便获取pulseaudio的RAOP模块的更新版本。
这是我所做的,以使其正常工作(它可能会抱怨缺少软件包,只需
sudo apt-get install
他们):安装MPD
sudo apt-get install mpd
安装PulseAudio
选择A:您有一个旧的AirPlay设备,或者您不需要UDP流传输。
它更容易但不兼容。
sudo apt-get install pulseaudio
选择B:您想要更好的选择兼容性以及对TCP和UDP流的支持
那么您需要使用raop2模块来实现脉冲eaudio,这意味着要从源代码构建PA。
如果尚未安装git,则构建pulsaudio(请参见官方说明):
sudo apt-get install git intltool autoconf build-essential
cd
git clone https://github.com/hfujita/pulseaudio-raop2
cd pulseaudio-raop2
./bootstrap.sh
make
sudo make install
在我的设置中,我必须手动链接libpulse.so.0:
cd ~/pulseaudio-raop2
sudo rm /usr/lib/arm-linux-gnueabi/libpulse.so.0
sudo ln -s `cd;pwd`/pulseaudio-raop2/src/.libs/libpulse.so.0 /usr/lib/arm-linux-gnueabi/libpulse.so.0
sudo chown root.root /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chmod 744 /usr/lib/arm-linux-gnueabi/libpulse.so.0
,或者根据您的喜好:
cd ~/pulseaudio-raop2
sudo rm /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo mv pulseaudio-raop2/src/.libs/libpulse.so.0 /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chown root.root /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chmod 744 /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
配置所有内容
MPD初始设置
现在我们需要设置MPD:
sudo vi /etc/mpd.conf
/>在该文件中,设置以下内容:
music_directory "/path/to/your/music"
user "mpd"
bind_to_address "127.0.0.1"
bind_to_address "192.168.x.y"
bind_to_address "2a01:xzy....your IPv6 if you want"
我们将需要编辑输出,但首先需要使用pulseaudio sink的名称。
PulseAudio接收器
Avahi / zeroconf非常高兴,因为它将启用AirPlay设备的发现(通过zeroconf / mDNS / Bonjour):
sudo apt-get install avahi
现在我们可以启动pulseaudio并尝试加载RAOP模块:
pulseaudio --start --log-target=syslog -vvvv --log-level=debug
pacmd load-module module-raop-discover
pacmd list-sinks | grep name:
这是我设置的输出:
name: <raop_output.Freebox-Player.local>
name: <raop_output.Freebox-Server.local>
name: <raop_output.Freebox-Player.local.2>
name: <raop_output.Freebox-Server.local.2>
然后,您需要再次编辑
/etc/mpd.conf
并添加以下输出:audio_output {
type "pulse"
name "Freebox Player"
sink "raop_output.Freebox-Player.local"
format "44100:24:1"
}
为每个您要将音乐流传输到的AirPlay设备添加以下块之一。
PulseAudio配置
最后一部分是设置PA:
sudo vi /etc/pulse/client.conf
在底部添加以下行:
sudo vi /etc/pulse/default.pa
这将使pulseaudio启动时加载RAOP发现模块。
最后一步
它现在应该可以工作了。启动MPD(如果正在运行,请先将其停止):
load-module module-raop-discover
稍等一下,我的RasPI至少需要10-15秒才能使守护程序正常工作。
更新您的音乐库(并等待其完成):
sudo /etc/init.d/mpd start
随意启用输出(以下内容将列出已配置的MPD输出并启用第一个):
sudo apt-get install mpc
mpc update
现在使用您喜欢的MPD客户端播放一些音乐。我在命令行上使用
autospawn = yes
,而在手机/平板电脑上使用MPDroid。 mpc outputs
mpc enable 1
首先尝试使pulseaudio工作。只需加载pulseaudio,加载RAOP发现模块,列出接收器,设置默认接收器,然后尝试播放一些内容:
MPD可以使用它。
评论
那正是我想要的!我在Raspberry Pi上运行时不舒服。将尝试此操作并进行更新,以告诉您它是否有效!
–leolobato
14年7月13日在1:25
#2 楼
您似乎正在寻找pulseaudio-module-raop。本指南详细介绍了如何在Ubuntu中进行设置。
评论
一般来说,提供详细说明的答案胜于链接。链接可能会重定位或死亡。更重要的是,稍微解释一下pulseaudio-module-raop可能是个好主意。
– Ramblinjan
13-10-23在5:47
#3 楼
花了一些时间尝试使用Raspbian Jessie在新的Raspberry Pi 3上通过Raop / PulseAudio配置Airplay,但收效甚微。我强烈建议您使用forkd-daapd:这是原始forkd-daapd 0.19的更新版本,forked-daapd 0.19是Linux / FreeBSD DAAP(iTunes)媒体服务器,支持AirPlay设备, Apple Remote(和兼容产品),MPD,Spotify,mp3流媒体和互联网广播。
安装非常简单,整个过程大约要花10分钟才能启动并运行。这是详细的安装说明:
1a. If you use Jessie then add this line to /etc/apt/sources.list:
deb http://www.gyfgafguf.dk/raspbian jessie/armhf/
or
1b. If you use Wheezy then add this line to /etc/apt/sources.list:
deb http://www.gyfgafguf.dk/raspbian wheezy-backports/armhf/
2. Run sudo apt-get update and then sudo apt-get install forked-daapd
3. Edit the config file /etc/forked-daapd.conf and (re)start the server with sudo /etc/init.d/forked-daapd restart
Optional - how to add support for Spotify:
1. Add deb http://apt.mopidy.com/ stable main contrib non-free to /etc/apt/sources.list
2. Run sudo apt-get update and then sudo apt-get install libspotify-dev
3. Restart forked-daapd and enter credentials as described in the instructions.
4. Check the log to see how it is working. It should start loading your playlists.
评论
这是一个很大的问题。我喜欢airplay,在Pi上使用它很有意义。会在这个但很好的问题上挖掘我的自我! +1据我了解,可以使用PulseAudio完成。我也在挖东西。
看看我们在这里讨论的内容raspberrypi.org/phpBB3/…
我知道这有点题外话-但是,如果您不喜欢远程playbac,那么一些不错的USB DAC呢?