你好世界9536
你好世界9536
  • 发布:2023-03-21 15:20
  • 更新:2023-03-24 16:06
  • 阅读:347

【报Bug】音频 onWaiting onCanplay监听方法在ios无法正常使用

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.7.3

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iPad pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

App下载地址或H5⽹址: 有做demo往下拉在第一个回复

示例代码:

audioLeft = uni.createInnerAudioContext();
audioLeft.src = this.audioLeftSrc;
audioLeft.onPlay(()=>{
console.log('开始播放_0 play');
this.audioLoadStateLeft = false;
})

            audioLeft.onWaiting(()=>{  
                console.log('播放加载_1 onWaiting')  
                this.audioLoadStateLeft = true;  
            })  

            audioLeft.onCanplay(()=>{  
                console.log('缓存播放_2 onCanplay');  
                this.audioLoadStateLeft = false;  
            })

操作步骤:

audioLeft = uni.createInnerAudioContext();
audioLeft.src = this.audioLeftSrc;
audioLeft.onPlay(()=>{
console.log('开始播放_0 play');
this.audioLoadStateLeft = false;
})

            audioLeft.onWaiting(()=>{  
                console.log('播放加载_1 onWaiting')  
                this.audioLoadStateLeft = true;  
            })  

            audioLeft.onCanplay(()=>{  
                console.log('缓存播放_2 onCanplay');  
                this.audioLoadStateLeft = false;  
            })

预期结果:

预期结果应该先加载onWaiting的监听方法,等待一段时间再加载onCanplay的方法

实际结果:

onWaiting和onCanplay的监听方法在同一时间触发 在ipad的ios环境下

bug描述:

音频onCanplay监听方法在ios无法正常使用,在h5端是可以的。

在ipad测试中 onWaiting方法和onCanplay方法在同一时间触发,已经设置网络为低延迟状态。

2023-03-21 15:20 负责人:DCloud_iOS_LZY 分享
已邀请:
你好世界9536

你好世界9536 (作者) - 你好世界

我做了一个demo,运行这个demo测试你会发现。

在h5端把网速降低到Slow 3G测试,会出现先打印【onWaiting】,过2到3秒才打印【onCanplay】
在ios端:请先把该demo打包为自定义基座,然后链接ipad,然后请点开ipad的开发者模式(mac必须先打开xcode ipad才会出现开发者模式)点击【Network Link Conditioner】开启【Enable】选择比较慢的3G网络,然后测试音频播放会出现【onWaiting】和【onCanplay】同时打印出来 (bug)

要回复问题请先登录注册