隐藏

使用Shairport Sync让普通音箱支持airplay2
2024年 03月 07 日

Calvin

使用Shairport Sync将手上只能插3.5mm音频接口的普通音箱支持苹果airplay2推流

原作链接:github地址


1.前置准备:

1.1:一个普通音箱(废话)。

1.2:一个刷好linux的盒子,不管是机顶盒还是树莓派还是什么其他的都无所谓,系统我这里用的是debian,下面教程都是关于debian系统的命令演示,若你使用的是其他系统可以参考作者的教程。

​ (这玩意儿在闲鱼上应该二三十块能收到)。

1.3:一个安装了ssh工具且能正常连接局域网的电脑。


2.开始安装:

2.1:连接上linux盒子,确保可用的github网络访问。

2.2:先更新一下系统支持包:

$ sudo apt update
$ sudo apt upgrade

2.3:安装一下依赖包喽:

$ apt install --no-install-recommends build-essential git autoconf automake libtool \
    libpopt-dev libconfig-dev libasound2-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev \
    libplist-dev libsodium-dev libavutil-dev libavcodec-dev libavformat-dev uuid-dev libgcrypt-dev xxd

2.4:clone一下软件包并安装:

​ 2.4.1:安装一下需要的nqptp插件:

$ cd /root
$ git clone https://github.com/mikebrady/nqptp.git
$ cd nqptp
$ autoreconf -fi
$ ./configure --with-systemd-startup
$ make
# make install
# systemctl restart nqptp
# systemctl restart shairport-sync

​ 下面开始安装Shairport Sync本体:

$ cd /root
$ git clone https://github.com/mikebrady/shairport-sync.git
$ cd shairport-sync
$ autoreconf -fi
$ ./configure --sysconfdir=/etc --with-alsa \
    --with-soxr --with-avahi --with-ssl=openssl --with-systemd --with-airplay-2
$ make
$ make install

​ 2.5:启动一下试试:

$ shairport-sync
#停止运行的话按住 ‘ ctrl + C ’即可

​ 到这一步应该可以在Apple设备上看到一个名为“Shairport Sync”的AirPlay输出。放点歌看看有没有声音,有声音的话就没问题,有问题的参考下一步

2.5:配置一下:

​ 首先打开配置文件:

$ sudo vi /etc/shairport-sync.conf

​ 然后找到文件开头 [General Setting] 中的 “ name ” 标签,将其改为你想要在苹果设备中看到的名字。

image-20240307015223485

​ 如果在2.4中你无法听到声音的话你可以修改 [alsa] 标签中的 “ output_device ”部分,将其注释取消,然后将这部分更改为自己音频设备硬件名称,如下图:

image-20240307020311568

然后:"esc" ➡️ ":wq" 保存退出。

2.6配置一下开机自启:

​ 创建一个自启服务文件:

$ vi /lib/systemd/system/shairport-sync.service

​ 然后填入如下启动脚本:

[Unit]
Description=Shairport Sync - AirPlay Audio Receiver
After=sound.target
Requires=avahi-daemon.service
After=avahi-daemon.service
Wants=network-online.target
After=network.target network-online.target

[Service]
ExecStart=/usr/local/bin/shairport-sync --log-to-syslog
User=shairport-sync
Group=shairport-sync

[Install]
WantedBy=multi-user.target

​ 最后启用一下自启脚本:

$ sudo systemctl enable shairport-sync
$ sudo systemctl start shairport-sync

​ 检查下自启服务状态正常即可:

image-20240307021648779

使用Shairport Sync让普通音箱支持airplay2

使用Shairport Sync将手上只能插3.5mm音频接口的普通音箱支持苹果airplay2推流

原作链接:github地址


1.前置准备:

1.1:一个普通音箱(废话)。

1.2:一个刷好linux的盒子,不管是机顶盒还是树莓派还是什么其他的都无所谓,系统我这里用的是debian,下面教程都是关于debian系统的命令演示,若你使用的是其他系统可以参考作者的教程。

​ (这玩意儿在闲鱼上应该二三十块能收到)。

1.3:一个安装了ssh工具且能正常连接局域网的电脑。


2.开始安装:

2.1:连接上linux盒子,确保可用的github网络访问。

2.2:先更新一下系统支持包:

$ sudo apt update
$ sudo apt upgrade

2.3:安装一下依赖包喽:

$ apt install --no-install-recommends build-essential git autoconf automake libtool \
    libpopt-dev libconfig-dev libasound2-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev \
    libplist-dev libsodium-dev libavutil-dev libavcodec-dev libavformat-dev uuid-dev libgcrypt-dev xxd

2.4:clone一下软件包并安装:

​ 2.4.1:安装一下需要的nqptp插件:

$ cd /root
$ git clone https://github.com/mikebrady/nqptp.git
$ cd nqptp
$ autoreconf -fi
$ ./configure --with-systemd-startup
$ make
# make install
# systemctl restart nqptp
# systemctl restart shairport-sync

​ 下面开始安装Shairport Sync本体:

$ cd /root
$ git clone https://github.com/mikebrady/shairport-sync.git
$ cd shairport-sync
$ autoreconf -fi
$ ./configure --sysconfdir=/etc --with-alsa \
    --with-soxr --with-avahi --with-ssl=openssl --with-systemd --with-airplay-2
$ make
$ make install

​ 2.5:启动一下试试:

$ shairport-sync
#停止运行的话按住 ‘ ctrl + C ’即可

​ 到这一步应该可以在Apple设备上看到一个名为“Shairport Sync”的AirPlay输出。放点歌看看有没有声音,有声音的话就没问题,有问题的参考下一步

2.5:配置一下:

​ 首先打开配置文件:

$ sudo vi /etc/shairport-sync.conf

​ 然后找到文件开头 [General Setting] 中的 “ name ” 标签,将其改为你想要在苹果设备中看到的名字。

image-20240307015223485

​ 如果在2.4中你无法听到声音的话你可以修改 [alsa] 标签中的 “ output_device ”部分,将其注释取消,然后将这部分更改为自己音频设备硬件名称,如下图:

image-20240307020311568

然后:"esc" ➡️ ":wq" 保存退出。

2.6配置一下开机自启:

​ 创建一个自启服务文件:

$ vi /lib/systemd/system/shairport-sync.service

​ 然后填入如下启动脚本:

[Unit]
Description=Shairport Sync - AirPlay Audio Receiver
After=sound.target
Requires=avahi-daemon.service
After=avahi-daemon.service
Wants=network-online.target
After=network.target network-online.target

[Service]
ExecStart=/usr/local/bin/shairport-sync --log-to-syslog
User=shairport-sync
Group=shairport-sync

[Install]
WantedBy=multi-user.target

​ 最后启用一下自启脚本:

$ sudo systemctl enable shairport-sync
$ sudo systemctl start shairport-sync

​ 检查下自启服务状态正常即可:

image-20240307021648779

版权属于:Calvin 所有,采用《知识共享署名许可协议》进行许可,转载请注明文章来源。

本文链接: https://www.chen.click/archives/208/

评论区(暂无评论)

这里空空如也,快来评论吧~

我要评论