别让 NAS 只当网盘!Docker 部署 AirPlay,秒变家庭音响中心

2026-07-27 09:54:49 0点赞 4收藏 0评论

Shairport Sync:

一款开源 AirPlay 音频接收器,支持 AirPlay 1/2(部分功能),让你的 NAS 或树莓派秒变家庭音响中心,打造多房间同步播放的体验。

别让 NAS 只当网盘!Docker 部署 AirPlay,秒变家庭音响中心

项目特点:

  • 协议支持:既可以作为经典的 AirPlay 1 播放器,也能构建为 AirPlay 2 播放器(有一些限制)。

  • 音质与格式:支持立体声和多声道(5.1、7.1),甚至可以播放无损 24-bit 立体声,采样率高达 48kHz。

  • 元数据处理:可以获取并传递艺术家信息、专辑封面等元数据给其他应用。

  • 接口扩展:支持 MQTT、MPRIS-like 接口和 D-Bus,用于与其他应用交互和远程控制。

  • 局限性:仅支持音频,不支持 AirPlay 的视频或照片流。

安装

Docker Compose

services: airplay: image: mikebrady/shairport-sync:latest container_name: airplay network_mode: host volumes: - ./shairport-sync.conf:/etc/shairport-sync.conf devices: - /dev/snd group_add: - audio cap_add: - SYS_NICE restart: always

参数说明(更多参数建议去看文档)

shairport-sync.conf(挂载文件):用于配置参数

/dev/snd(设备):挂载声卡设备

group_add(权限组,可选):添加 audio 权限

cap_add(进程调度,可选):提升进程的调度优先级

配置

启动前先创建 shairport-sync.conf 配置文件,下面是一个基础模板,接下来将一个个说具体怎么配置

general = { name = "FNOS-Speaker"; output_backend = "alsa"; }; alsa = { output_device = "plughw:1,0"; output_format = "S16"; };

TIP:建议先安装 ALSA 工具包,方便查看声卡信息(如果懒得装,也可以使用通用兼容的参数)

# 安装 ALSA 工具包 apt update && apt install -y alsa-utils # 查看所有音频设备 aplay -l # 查看可用的 ALSA 控制接口 amixer -c 1 controls # 查看声卡支持的采样格式 aplay -D plughw:1,0 --dump-hw-params /dev/zero 2>&1 | grep FORMAT

全局配置,其中 output_backend 是选择音频,操作声卡硬件默认选择 alsa 就行,兼容性比较好

general = { name = "DXP-Speaker"; # AirPlay设备名称 output_backend = "alsa"; # 音频后端: alsa/pw/pa/jack };

音频后端设置(下面会详细说,怎么填参数)

alsa = { output_device = "plughw:1,0"; # 指定声卡输出 output_format = "S16"; # 音频位深格式 };

使用 SSH 工具连接设备,输入下面命令:

# 切换 root 权限 sudo -i # 查看声卡级别(看有几张卡、编号和名字) cat /proc/asound/cards # 查看设备级别(看每张卡有几个 PCM 设备) cat /proc/asound/pcm

这台设备有 3 张声卡,分别是:CPU 核显 HDMI/DP 通道、主板集成声卡、主板蜂鸣器。其中卡 1 就是需要的,如果不清楚,可以复制问 AI 就行

别让 NAS 只当网盘!Docker 部署 AirPlay,秒变家庭音响中心

下面就是具体看每个卡下的 PCM 设备,01-00 就是需要用到的主板音频(耳机 / 音箱 / 麦克风),所以 output_device 填写是“plughw:1,0”

cat /proc/asound/cards 跟上面的对照关系 0 [HDMI] → 00-03 / 00-07 / 00-08 (三个 HDMI 口) 1 [PCH] → 01-00 / 01-02 (模拟口 + 备用) 2 [pcsp] → 02-00 (蜂鸣器)别让 NAS 只当网盘!Docker 部署 AirPlay,秒变家庭音响中心

至于 output_format 一般都是通用的填 S16 就行,也可以输入命令查看

aplay -D plughw:1,0 --dump-hw-params /dev/zero 2>&1 | grep FORMAT别让 NAS 只当网盘!Docker 部署 AirPlay,秒变家庭音响中心

使用

确认容器日志无报错后,在 iPhone/Mac 的控制中心点击音频投送,就能在列表里看到设备。

启动容器后查看日志,应该是没有警告或者报错的

别让 NAS 只当网盘!Docker 部署 AirPlay,秒变家庭音响中心

下拉控制中心,点击投送就能看到接收器了

别让 NAS 只当网盘!Docker 部署 AirPlay,秒变家庭音响中心

测试过 fnOS(笔记本)和 UGOS Pro(绿联全闪)两个系统都没问题,有扬声器就是扬声器播放,插上 3.5mm 音频也能正常出声

别让 NAS 只当网盘!Docker 部署 AirPlay,秒变家庭音响中心

如果配置没有问题,容器日志也没报错,同时也可以正常找到设备,但就是没声音,大概率是声卡默认处于静音状态(比较常见情况)。可以安装 ALSA 工具包,通过 amixer 命令解除静音、调高音量,直接复制下面命令运行即可。

# 安装 alsa-utils apt update && apt install -y alsa-utils # 开音量+去静音 amixer -c 0 sset Master 100% unmute别让 NAS 只当网盘!Docker 部署 AirPlay,秒变家庭音响中心

总结

Shairport Sync 这款应用可以配置的参数还有很多,本教程只是将最基础的功能搭建起来。NTP 同步精度、解码后处理、多房间延迟对齐,这些高阶配置官方文档里都有。如果你的手里有闲置音箱/功放、又想给 iPhone 扩展一个无线音频出口的 NAS 用户,非常值得推荐!几十行配置让它重新上岗,性价比很高。

综合推荐:⭐⭐⭐(吃灰设备重新上岗,AirPlay 生态无缝接入)

使用体验:⭐⭐⭐(部署不复杂,但需要跟着步骤)

部署难易:⭐⭐⭐(中规中矩)

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
4
扫一下,分享更方便,购买更轻松