uni-app 在watch中使用uni.createInnerAudioContext实例的play方法时 无法触发onTimeUpdate事件
详细问题描述
使用uni-app开发小程序时,在watch中使用uni.createInnerAudioContext实例的play方法时,无法触发onTimeUpdate事件。
重现步骤
步骤
- 首先我在onLoad中创建
this.audioContext = uni.createInnerAudioContext()
,然后监听this.audioContext.onTimeUpdate
事件。 - 点击歌曲时,commit vuex中的函数修改state中的属性
- 在watch中监听这个属性,发生改变时使用uni.createInnerAudioContext实例的play方法,歌曲也能够播放声音
- 我以为是监听vuex的属性不能被触发,然后尝试监听vue实例的属性时,也是不能被触发
onTimeUpdate
没有在控制台输出内容,也就是没触发
期望
onTimeUpdate
应该触发
IDE运行环境说明
环境 | 版本号 |
---|---|
HBuilderX | 1.7.0.20190314 |
windows | win 10 |
uni-app运行环境说明
运行端 | 版本号 |
---|---|
微信开发者工具 | 1.02.1902010 |
最后说一下,官方文档里说uni.createInnerAudioContext.paused
true代表暂停 false代表播放
使用play方法后,不是应该获取的false么,我在控制台得到的true
更多关于uni-app 在watch中使用uni.createInnerAudioContext实例的play方法时 无法触发onTimeUpdate事件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
补充代码图片
更多关于uni-app 在watch中使用uni.createInnerAudioContext实例的play方法时 无法触发onTimeUpdate事件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
后续!
真机调试的时候,onTimeUpdate可以正常触发。
在微信开发者工具 调试的时候 不能触发
微信开发者工具可能存在一些问题,请以真机为准。
调用seek后onTimeUpdate也失效了,h5正常,app无法触发,bug
楼主咋写的哇 我onLoad onReady onTimeUpdate都没触发
你的问题应该和楼主不同,仔细核对一下。
回复 DCloud_UNI_GSQ: app和小程序依然不执行onTimeUpdate函数,望修复bug
回复 9***@qq.com: app是用的vue还是nvue页面?另外小程序的问题需要反馈到小程序开发社区才能修复
duration Number 当前音频的长度(单位:s),只有在当前有合法的 src 时返回
这个也无法使用
经排查H5端在未获取到信息之前返回NaN与浏览器行为一致,暂不特殊处理
回复 DCloud_UNI_GSQ: 谢谢!
在H5端获取为NaN,app可以获取到时长
收到,将会排查
回复 DCloud_UNI_GSQ: 遍历多个音频文件的情况下,app在第一个文件获取时长为0,第二个开始,正常可获取
回复 握瑾怀瑜: 在onCanplay或者 onTimeUpdate获取
回复 龙雨溪: 谢谢!