5***@qq.com
5***@qq.com
  • 发布:2021-11-12 16:03
  • 更新:2023-11-11 11:12
  • 阅读:707

【报Bug】背景音乐uni.getBackgroundAudioManager() 多次加载onPlay等方法

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows10专业版

HBuilderX类型: 正式

HBuilderX版本号: 3.2.13

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: 华为P40

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

App下载地址或H5⽹址: https://ide.dcloud.net.cn/build/download/cdf08340-4363-11ec-9fe1-2dce755a70f7

示例代码:

this.audio = uni.getBackgroundAudioManager();
this.audio.src = ''
this.audio.onPlay(() => {
console.log('开始播放');
this.rotate()
});
this.audio.onStop(() => {
console.log('停止播放');
});

            this.audio.onPause(() => {  
                console.log('暂停播放');  
                clearInterval(InterVal)  
            });   
            this.audio.onEnded(() => {  
                //初始化 需要的参数  
                console.log('自然播放结束事件');  
                if(this.isCurrent && this.isCurrent == 1){  
                    console.log('进去定时')  
                    clearInterval(this.timeSet)  
                    this.isPlay = false;  
                    this.isCurrent = 0  
                    this.timedPause = true  
                }else {  
                    console.log('下一首')  
                    this.jump(2)  
                }  
            });  
            this.audio.onError((res) => {  
                console.log(res.errMsg);  
                console.log(res.errCode);  
            });

操作步骤:

进入页面绑定 onPlay方法,退出时重新进入 上一次绑定的onPlay也会执行,造成APP卡顿。

预期结果:

onPlay方法不会多次执行

实际结果:

onPlay方法多次执行,而且造成APP卡顿

bug描述:

在页面onLoad中注册下面方法后,退出页面重新进入时onPlay方法中打印重复执行。
进入几次打印几次。重复进入照成APP卡顿。onPlay方法如何重写或者重载呢。

2021-11-12 16:03 负责人:无 分享
已邀请:
p***@qq.com

p***@qq.com

真机遇到这个问题,请问解决了么?

传播星球

传播星球 - 1

请问怎么解决的

2***@qq.com

2***@qq.com

再次进入时,做个判断,audio是不是已经有了

要回复问题请先登录注册