createInnerAudioContext 切换播20个mp3在uni-app中第次都重新destroy在create播2个小时就卡顿

createInnerAudioContext 切换播20个mp3在uni-app中第次都重新destroy在create播2个小时就卡顿

操作步骤:

  • 必现

预期结果:

  • 无卡

实际结果:

bug描述:

  • 【报Bug】createInnerAudioContext 切换播20个mp3,第次都重新destroy,在create,播2个小时就卡顿


| 信息类别         | 内容                       |
|------------------|----------------------------|
| 产品分类         | uniapp/App                 |
| PC开发环境       | Windows                    |
| PC开发环境版本号 | 11                         |
| HBuilderX类型    | 正式                       |
| HBuilderX版本号  | 4.45                       |
| 手机系统         | Android                    |
| 手机系统版本号   | Android 12                 |
| 手机厂商         | OPPO                       |
| 手机机型         | a72                        |
| 页面类型         | vue                        |
| vue版本          | vue2                       |
| 打包方式         | 云端                       |
| 项目创建方式     | HBuilderX                  |

更多关于createInnerAudioContext 切换播20个mp3在uni-app中第次都重新destroy在create播2个小时就卡顿的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

wx:hao1015l 我已完美解决

更多关于createInnerAudioContext 切换播20个mp3在uni-app中第次都重新destroy在create播2个小时就卡顿的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个卡顿问题是由于频繁创建和销毁InnerAudioContext实例导致的资源累积。建议优化方案:

  1. 不要每次播放都destroy/create,改为复用同一个实例:
// 全局或页面级声明
const innerAudioContext = uni.createInnerAudioContext();

// 切换音频时只需修改src
innerAudioContext.src = 'new.mp3';
innerAudioContext.play();
回到顶部