1***@163.com
1***@163.com
  • 发布:2020-05-08 17:24
  • 更新:2023-06-20 15:51
  • 阅读:1807

【报Bug】uni.getBackgroundAudioManager() 的 onCanplay 无法触发

分类:uni-app

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

重现步骤

let appInnerAudioContext = uni.getBackgroundAudioManager();

appInnerAudioContext .onWaiting(function(e) {
console.log('等待');
self.appInnerAudioContext.pause()
self.radioLoading = true;
})

appInnerAudioContext .onCanplay(function(e) {
console.log('等待');
self.appInnerAudioContext.play()
self.radioLoading = false;
})

[步骤]

[结果]
onCanplay 没有在 缓冲完毕后 执行
[期望]
在 缓冲完毕后 能触发 onCanPlay

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]
2.6.16.20200424

[windows版本号]
windows 10

[mac版本号]

uni-app运行环境说明

Redmi K20 Pro

[运行端是h5或app或某个小程序?]
app

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式说明:自定义组件模式?纯nvue模式?v3模式?]

App运行环境说明

[Android版本号]
MUI 11.0.8

[iOS版本号]

[手机型号]
MUI 11.0.8
[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

/*  

        radioInit(radioObj) {  
            // #ifdef APP-PLUS  
            // 添加音频对象的事件监听  
            function addListen() {  
                console.log('添加音频播放监听');  
                self.appInnerAudioContext.src = radioObj.media_url;  
                self.appInnerAudioContext.pause();  
                setTimeout(() => {  
                    self.starTime = self.appInnerAudioContext.currentTime;  
                    self.endTime = self.appInnerAudioContext.duration;  
                    console.log(self.appInnerAudioContext.duration);  
                    console.log(self.starTime);  
                    console.log(self.endTime);  
                }, 1000);  

                console.log("监听播放就绪")  
                self.appInnerAudioContext.onCanplay(function() {  
                    console.log('播放准备');  
                    // self.SET_RADIOSTATE(true);  
                });  

                self.appInnerAudioContext.onPlay(function() {  
                    console.log('播放');  
                    self.SET_RADIOSTATE(true);  
                });  

                self.appInnerAudioContext.onPause(function() {  
                    console.log('暂停');  
                    self.SET_RADIOSTATE(false);  
                });  

                self.appInnerAudioContext.onStop(function() {  
                    console.log('停止');  
                });  

                self.appInnerAudioContext.onTimeUpdate(function(e) {  
                    // console.log("播放")  
                    self.radioLoading = false;  
                    self.starTime = self.appInnerAudioContext.currentTime;  
                });  

                self.appInnerAudioContext.onError(function(errCode) {  
                    uni.showToast({  
                        title: '播放出错,即将跳到下一个电台!',  
                        icon: 'none'  
                    });  
                    console.log('播放出错' + JSON.stringify(errCode));  
                    self.nextRadio();  
                });  

                self.appInnerAudioContext.onWaiting(function(e) {  
                    console.log('等待');  
                    self.appInnerAudioContext.pause()   
                    self.waitTimeId = setTimeout(() => {  
                        self.appInnerAudioContext.play();  
                    }, 2000);  
                    self.radioLoading = true;  
                });  

                self.appInnerAudioContext.onEnded(function(e) {  
                    console.log('播放完毕');  
                    self.nextRadio();  
                });  
            }  
            if (self.appInnerAudioContext) {  
                addListen();  
            } else {  
                let appInnerAudioContext = uni.getBackgroundAudioManager();  
                self.SER_APPINNERAUDIOCONTEXT(appInnerAudioContext);  
                addListen();  
            }  
            // #endif  
        }

联系方式

17671466586
[QQ]
1061393421

2020-05-08 17:24 负责人:jxtian 分享
已邀请:
fatesgo

fatesgo

我也是这个事件不会触发

潘毅康

潘毅康 - pyk

这个方法我也是触发不了onCanplay,运行到小程序没问题,app就有问题

jxtian

jxtian

确认bug,等待修复

  • 奥利奥饼干

    刚遇到, 我看问题是20年提出的, 现在还有这个问题吗?

    2023-06-20 15:50

奥利奥饼干

奥利奥饼干

楼主解决了吗

要回复问题请先登录注册