EJRUN以界
EJRUN以界
  • 发布:2023-04-02 15:16
  • 更新:2023-04-02 15:16
  • 阅读:349

【报Bug】小音频文件 连续播放 多个 后,间隔越来越长,长到后来没有声音

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 10

HBuilderX类型: 正式

HBuilderX版本号: 3.7.3

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: iphone 8 、ipad 2015

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

连续播放 几百个 只有 几KB 的小 MP3 音频文件

预期结果:

能正常播放

实际结果:

出现声音的间隔时间越来越长,直至无声。

bug描述:

在 app 模式,ios、android 都一样。在多个 ios设备、华为、小米手机上测试都一样。

一次播放一个文件,通过切换 src 后 调用 play 播放。连续播放 本地的 小mp3文件 200 个以上后 ,播放速度会慢慢来越慢,直至没有声音。MP3文件 每个 都不超过 10k,时长1 秒左右。

开始时正常,每秒播放一个。到后来 play 调用后,要等很久才会有声音。

我们调用 play 前,通过 onended 监听 改变 临时变量的值,确保 上一个播放完后,再播放下一个。

估计 测试人员 没有做过 连续 大量播放 小 音频文件的测试。

目前的解决方案是,播发 几十个文件后,destory 掉innerAudioContext ,重新创建一个。但这毕竟是权宜之计。
我们需要连续播放几千个小音频文件。

另外,微信小程序 的 wx.createInnerAudioContext ,在 pc 模式下,播放一个文件后,再播放就没有声音了。只能播放一次后,销毁对象,重新createInnerAudioContext。

2023-04-02 15:16 负责人:DCloud_iOS_LZY 分享
已邀请:

要回复问题请先登录注册