uni-app 大于十分钟的音频播放不完整
uni-app 大于十分钟的音频播放不完整
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | 11.4 | HBuilderX |
操作步骤:
通过播放 http://hometree.oss-cn-shanghai.aliyuncs.com/backend/wecha/audio/108ziwo.mp3 这段音频,正常播放,不快进,在十分钟之后会在随机时段暂停
预期结果:
应完整播放完音频
实际结果:
在十分钟之后会在随机时段暂停
bug描述:
长音频提前暂停
- 音频超过10分钟,通过背景音乐播放,在播放到十分钟之后,会随机时间结束,但音频并未播放完全
更多关于uni-app 大于十分钟的音频播放不完整的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app 大于十分钟的音频播放不完整的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个问题通常与uni-app音频播放器的缓冲区限制有关。对于超过10分钟的长音频,系统可能因内存管理策略提前释放资源,导致播放中断。
解决方案:
-
使用
uni.createInnerAudioContext()替代背景音频API:const innerAudioContext = uni.createInnerAudioContext(); innerAudioContext.src = 'your_audio_url'; innerAudioContext.autoplay = true; // 监听错误事件 innerAudioContext.onError((res) => { console.log('播放错误', res); }); -
设置关键参数:
innerAudioContext.obeyMuteSwitch = false; // 不受静音开关影响 innerAudioContext.startTime = 0; // 确保从开始播放 -
添加错误恢复机制:
innerAudioContext.onEnded(() => { // 检查是否真正播放完毕 if (innerAudioContext.duration - innerAudioContext.currentTime > 5) { // 异常中断,重新加载 innerAudioContext.stop(); innerAudioContext.play(); } });

