news 2026/4/16 18:04:15

在 Radxa SBC 上使用 Shairport-Sync 实现 AirPlay 音频接收

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 Radxa SBC 上使用 Shairport-Sync 实现 AirPlay 音频接收

本文介绍如何在 Radxa 单板计算机(SBC)上部署 Shairport-Sync,将传统音响系统接入 Apple AirPlay 生态,实现通过 iOS / macOS 设备进行无线音频播放。

文档以 Radxa Cubie A7A(Allwinner A733) 为示例,其它 Radxa SBC 可参考相同步骤。

1. 概述

Shairport-Sync 是一个开源的 AirPlay / AirPlay 2 音频接收器实现,可运行于 Linux 系统。
通过 Shairport-Sync,Radxa SBC 可作为 AirPlay 接收端,将音频输出至模拟音频接口、HDMI 或 USB Audio 设备,为传统音响系统提供无线播放能力。

2. 硬件与软件要求

2.1 硬件要求

Radxa 单板计算机(如 Cubie A7A)

模拟音响系统或功放

3.5 mm 音频线(或 HDMI / USB DAC)

网络连接(以太网或 Wi-Fi)

2.2 软件环境

  • RadxaOS(或其他 Debian / Ubuntu 兼容发行版)
  • Shairport-Sync
  • Avahi(用于 AirPlay 服务发现)

3. 系统准备

3.1 更新系统

sudo apt update && sudo apt upgrade -y

4. 安装 Shairport-Sync

4.1 通过软件源安装(可选)

若系统软件源中已提供 shairport-sync,可直接安装:

sudo apt install shairport-sync

如需使用 AirPlay 2,建议采用源码编译方式。

4.2 源码编译安装(支持 AirPlay 2)

安装依赖

sudo 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

编译并安装 Shairport-Sync

git clone https://github.com/mikebrady/shairport-sync.git cd shairport-sync autoreconf -i -f ./configure --sysconfdir=/etc --with-alsa \ --with-soxr --with-avahi --with-ssl=openssl \ --with-systemd --with-airplay-2 make sudo make install
4.3 安装并启用 nqptp(AirPlay 2 必需)
git clone https://github.com/mikebrady/nqptp.git cd nqptp autoreconf -fi ./configure --with-systemd-startup make sudo make install sudo systemctl enable nqptp sudo systemctl start nqptp

5. 确认音频输出设备

使用以下命令查看系统识别到的音频设备:

aplay -l

示例(Cubie A7A):

card 0: allwinnerac101 [allwinner-ac101], device 0 card 1: allwinnerhdmi [allwinner-hdmi], device 0

说明:

输出设备说明
hw:0,0板载 AC101 模拟音频(3.5 mm 接口)
hw:1,0HDMI 音频输出

当使用 3.5 mm 模拟音频接口时,应选择 hw:0,0。

6. 配置 Shairport-Sync

编辑配置文件:

sudo nano /etc/shairport-sync.conf

示例配置(板载模拟音频)

general = { name = "Radxa Cubie AirPlay"; output_backend = "alsa"; }; alsa = { output_device = "hw:0,0"; output_format = "S16"; };

说明:

Shairport-Sync 将直接使用 ALSA 输出设备

在 RadxaOS 默认配置下,无需额外配置 ALSA Mixer

系统已完成基础音频通道与路由初始化

7. 启动服务

sudo systemctl enable shairport-sync sudo systemctl restart shairport-sync

8. 使用与验证

在 iOS 或 macOS 设备中:

打开音乐或视频播放应用

选择 AirPlay 输出

选择设备 Radxa Cubie AirPlay

若音频可正常播放,说明部署成功。

9. 故障排查

常见排查方向包括:

ALSA 输出设备选择是否正确

nqptp 服务是否正常运行(AirPlay 2)

系统音频设备是否被占用

10. USB Audio 设备说明(可选)

对于更高音质或更简化的音频输出方案,可使用 USB Audio DAC:

插入 USB DAC

使用 aplay -l 确认设备编号

将 output_device 修改为对应的 hw:x,0

USB Audio 设备通常无需额外音频路由或 Mixer 配置。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 22:53:56

OWASP Juice Shop 安装教程【Windows】

访问官网 https://github.com/juice-shop/juice-shop/releases 我的【Node.js】版本是20,所以我选择这个 【darwin】对应的是苹果系统 解压,然后进入解压后的文件夹 打开cmd,运行 npm start 访问 http://localhost:3000

作者头像 李华
网站建设 2026/4/16 15:30:38

Python Web开发新选择:Ludic框架的终极指南

Python Web开发新选择:Ludic框架的终极指南 【免费下载链接】ludic 🌳 Lightweight framework for building dynamic HTML pages in pure Python. 项目地址: https://gitcode.com/gh_mirrors/lu/ludic 在追求高效开发的Python社区中,一…

作者头像 李华
网站建设 2026/4/16 9:56:37

腾讯云云服务器核心技术优势:不止于弹性的算力底座

在数字经济加速渗透的今天,云服务器已成为企业数字化转型的核心基础设施。腾讯云云服务器(CVM)作为国内云计算领域的标杆产品,凭借自主研发的技术体系和全方位的服务能力,构建起兼具稳定性与灵活性的算力底座&#xff…

作者头像 李华
网站建设 2026/4/15 12:39:13

39、Linux系统备份、恢复与故障排除全解析

Linux系统备份、恢复与故障排除全解析 在Linux系统的日常使用和管理中,备份与恢复是保障数据安全的重要手段,同时,掌握故障排除的方法也是系统管理员的必备技能。本文将详细介绍Linux系统的备份类型、方法、常用命令,以及一些实际场景的解决方案和故障排除的基本思路。 1…

作者头像 李华
网站建设 2026/4/16 0:32:43

移动端真机测试与模拟器对比分析报告

1 测试环境本质差异解析 模拟器(Emulator) 通过软件模拟目标设备的硬件和操作系统环境,可在开发机上创建虚拟移动设备。其优势在于快速部署和低成本覆盖碎片化配置,特别是Android平台可通过Android Studio集成多种API级别和屏幕规…

作者头像 李华
网站建设 2026/4/15 22:59:35

MYSQL锁总结

按维度分类 行锁 共享锁 如select in share mode操作就会加共享锁(S锁)排他锁 如update、delete、select for update操作就会加排他锁(X锁) 间隙锁 锁住某一个范围,避免有数据插入表锁 意向锁 只用于标识是否已存在行锁…

作者头像 李华