诉求:
BackgroundAudioManager 在 iOS 真机锁屏/后台场景下,增强对网络电台直播直连流的支持。
现象:
同一 MP3 直播流在 InnerAudioContext 前台可正常播放;
切换到 BackgroundAudioManager 后,在 iOS 真机后台/锁屏场景出现 onPlay/onCanplay 后无声音、onWaiting/onPause 反复触发,无法稳定收到 onTimeUpdate。
环境:
iPhone 14 Pro
iOS 26.5
微信 8.0.75
基础库 3.16.2
示例源:
https://lhttp-hw.qtfm.cn/live/5022379/64k.mp3
期望:
BackgroundAudioManager 能稳定支持这类连续 MP3/AAC 直播音频流,或明确文档说明后台音频支持的流媒体协议、Content-Type、ICY metadata、Transfer-Encoding 等要求。
补充:
开发者工具模拟器可播,真机表现不同。
InnerAudioContext 前台可播,锁屏后不可靠。

1. 完整报错信息
2. 问题触发流程
环境: iPhone 14 Pro iOS 26.5 微信 8.0.75 基础库 3.16.2 网络:Wi-Fi 复现步骤: 1. 在小程序中使用 wx.getBackgroundAudioManager() 创建后台音频播放器。 2. 设置 title/singer/epname 等后台音频必填信息。 3. 设置 protocol = "http"。 4. 设置 src 为 MP3 直播直连流,例如: https://lhttp-hw.qtfm.cn/live/5022379/64k.mp3 5. 开始播放,并观察 onCanplay、onPlay、onWaiting、onPause、onTimeUpdate 等事件。 6. 在 iOS 真机上播放,随后锁屏或切后台。 实际表现: - onCanplay/onPlay 会触发; - 但后台/锁屏场景下无法稳定播放,可能无声、中断,或反复触发 onWaiting/onPause/onPlay; - 无法稳定收到 onTimeUpdate。 对比表现: - 同一 MP3 直播直连流在 InnerAudioContext 前台播放可以正常出声; - 开发者工具模拟器中使用 BackgroundAudioManager 也可以播放; - 只有 iOS 真机 BackgroundAudioManager 后台/锁屏场景不稳定。 期望表现: BackgroundAudioManager 能稳定支持这类连续 MP3/AAC 网络电台直播流;或者文档明确说明后台音频对直播直连流的协议、Header、Content-Type、Transfer-Encoding、ICY metadata 等限制。3. 可复现代码片段
const bgm = wx.getBackgroundAudioManager(); bgm.title = 'STAR RADIO'; bgm.singer = 'Test'; bgm.epname = 'Test Radio'; bgm.protocol = 'http'; bgm.onCanplay(() => { console.log('[Audio] onCanplay'); }); bgm.onPlay(() => { console.log('[Audio] onPlay'); }); bgm.onWaiting(() => { console.log('[Audio] onWaiting'); }); bgm.onPause(() => { console.log('[Audio] onPause'); }); bgm.onStop(() => { console.log('[Audio] onStop'); }); bgm.onTimeUpdate(() => { console.log('[Audio] onTimeUpdate', bgm.currentTime); }); bgm.onError((err) => { console.error('[Audio] onError', err); }); bgm.src = 'https://lhttp-hw.qtfm.cn/live/5022379/64k.mp3';补充: