连续播放 几百个 只有 几KB 的小 MP3 音频文件
- 发布:2023-04-02 15:16
- 更新:2023-04-02 15:16
- 阅读:574
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10
HBuilderX类型: 正式
HBuilderX版本号: 3.7.3
手机系统: iOS
手机系统版本号: iOS 16
手机厂商: 苹果
手机机型: iphone 8 、ipad 2015
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
能正常播放
能正常播放
实际结果:
出现声音的间隔时间越来越长,直至无声。
出现声音的间隔时间越来越长,直至无声。
bug描述:
在 app 模式,ios、android 都一样。在多个 ios设备、华为、小米手机上测试都一样。
一次播放一个文件,通过切换 src 后 调用 play 播放。连续播放 本地的 小mp3文件 200 个以上后 ,播放速度会慢慢来越慢,直至没有声音。MP3文件 每个 都不超过 10k,时长1 秒左右。
开始时正常,每秒播放一个。到后来 play 调用后,要等很久才会有声音。
我们调用 play 前,通过 onended 监听 改变 临时变量的值,确保 上一个播放完后,再播放下一个。
估计 测试人员 没有做过 连续 大量播放 小 音频文件的测试。
目前的解决方案是,播发 几十个文件后,destory 掉innerAudioContext ,重新创建一个。但这毕竟是权宜之计。
我们需要连续播放几千个小音频文件。
另外,微信小程序 的 wx.createInnerAudioContext ,在 pc 模式下,播放一个文件后,再播放就没有声音了。只能播放一次后,销毁对象,重新createInnerAudioContext。
0 个回复