在安卓真机上,调用createInnerAudioContext拿到InnverAudioContent对象,然后设置src属性,onCanplay会第一次调用。当我调用play方法以后,会停顿大概几秒钟,然后onCanplay会再次调用,然后再调用onPlay。
我怀疑第一次onCanplay是假的(因为实际上当我调用play方法后、还是要等好久啊),第二次才是真的。
具体表现如下:
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | InnerAudioContext | 客户端 | 6.7.3 | 2.3.0 |
3 个回答
安卓上同样的问题,影响判断,因为我要告知用户是否音频可以播放了,由于第一次是假的,所以判断不了是否能播放
不是很清楚你所描述的问题,提供一下代码片段测试一下(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
代码片段:wechatide://minicode/AQukLfm47f3T
我重新描述一遍:在安卓真机上创建innerAudioContext时,onCanplay会第一次调用;当play时,onCanplay会第二次调用。
测试是点击一下就可以播放的,安卓
确实点击一下就能播放。我的问题是:安卓上onCanplay会被调用两次,第一次是innerAudioContext刚被赋值上src的时候,第二次是play的时候(第一次onCanplay是假的,事实上并没有准备好播放)。
而在ios上onCanplay只会调用一次。
反馈收到
我的初衷是希望能用预加载来缓存,在ios上是没问题的(onCanplay以后确实能播放了),但是在android是假的啊,即使onCanplay以后、依然不能播放