Windows 版 Apple Music 能连接 HomePod 但没有声音
## 问题摘要
Windows 版 Apple Music 能发现 HomePod,也能在 AirPlay 输出列表中勾选设备,但 HomePod 没有声音。无论同时选择两台 HomePod,还是只选择其中一台,问题都会出现。
同一组 HomePod 由 iPhone 或 Apple TV 控制时播放正常。网络连通和 RTSP 控制连接均能成功建立,但 Apple Music 自身的 `AMPLibraryAgent` 日志显示,它无法解析 HomePod 在 RTSP Transport 响应中返回的 `timing_port` 参数。
## 环境
- Windows 11 23H2,内部版本 `22631.5984`,x64
- Microsoft Store 版 Apple Music `1.1540.23041.0`
- 日志中记录的内部构建路径版本:`MusicDesktopWin_Final-1.6.4.90`
- Windows 电脑和两台 HomePod 位于同一个私有 `/16` 局域网,但地址的第三段不同
- HomePod 型号和系统版本:尚未记录
- 复现日期:2026-10-03
## 复现步骤
1. 在 Windows 版 Apple Music 中开始播放音乐。
2. 打开 AirPlay 输出选择器。
3. 同时勾选两台 HomePod。
4. 两台设备显示为已选择,但均没有声音。
5. 取消其中一台,只保留单台 HomePod。
6. 单台 HomePod 仍然没有声音。
## 实际结果
HomePod 可以被发现和勾选,Apple Music 也建立了 RTSP 连接,但 HomePod 没有声音。单台和双台选择都能稳定复现。
## 已完成的排查
- Windows 可以通过 ARP 找到两台 HomePod,Ping 无丢包。
- HomePod 的 TCP `7000`、`7100` 端口可访问。
- `AMPLibraryAgent` 已与 HomePod 的 TCP `7000` 建立连接。
- Apple Music 创建了 RAOP UDP 端点,包括本地 `6001`、`6002` 端口。
- 测试时 Windows 活动的 Private 网络配置未启用防火墙。
- 网关透明代理明确绕过私有 IPv4 地址和组播地址。
- iPhone 和 Apple TV 可以正常向同一组 HomePod 播放。
- 只选择单台 HomePod 时仍然失败。
因此,mDNS 发现、基础路由、防火墙阻断和透明代理误捕获均不是主要嫌疑。
## Apple Music 关键日志
```text
**ERROR**: AirPlayDeviceManager::Create() failed! status:9039
adm> POD change eSystemSoundOutput -> eLegacyAirPlay (playing:Y)
raop> Connect attempt to device:[HOMEPOD_L] succeeded
adm> device:[HOMEPOD_L] selection task complete. status:0
play> ap> ***ERROR*** change selection devID [DEVICE_ID] err 1
raop> connect]
RTSPClient::ParseTransportHeader - bad timing_port parameter value [REDACTED]
raop> sending RECORD sq:[REDACTED] ts:[REDACTED]
-> audio device:[HOMEPOD_L] connected
```
另一台 HomePod 也出现相同的 `bad timing_port` 错误。
另一次尝试中,Apple Music 随后主动拆除了两个会话并切回本机输出:
```text
raop> sending teardown to device:[HOMEPOD_L] on disconnect
raop> sending teardown to device:[HOMEPOD_R] on disconnect
adm> POD change eLegacyAirPlay -> eSystemSoundOutput (playing:Y)
```
如果社区有相关开发者可以联系我,我可以提供详细的日志。
HomePod mini, 27