博客 / 詳情

返回

在 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,0 HDMI 音頻輸出

當使用 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 配置。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.