uni-app video组件中的timeupdate方法在ios手机上不执行(直播拉流视频)
uni-app video组件中的timeupdate方法在ios手机上不执行(直播拉流视频)
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | WIN10 | HBuilderX |
在nvue页面使用video组件 (视频为直播拉流视频)
<video :src="videoList.srcList" @play="play" @timeupdate="timeupdate" controls></video>
在methods方法里面使用timeupdate方法
timeupdate(event){
console.log(event)
}
更多关于uni-app video组件中的timeupdate方法在ios手机上不执行(直播拉流视频)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
请提供一个直播的链接
更多关于uni-app video组件中的timeupdate方法在ios手机上不执行(直播拉流视频)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
给你私信啦
问题已修复,请更新HX
最新版本没修复,能回调,但是duration和当前进度一直是0
回复 5***@qq.com: 问题不一样 你的问题 请附上可以稳定复现的demo 重开一个帖子
在iOS设备上,video组件的timeupdate事件不触发,通常与直播流(如HLS协议)的特性有关。iOS的video组件基于系统原生播放器,对于直播流,播放器可能不会频繁触发时间更新事件,因为直播流没有固定的时长,系统可能不会像处理点播视频那样定期触发该事件。
可能原因及解决方案:
-
直播流协议限制:iOS原生播放器对HLS直播流的
timeupdate支持较弱。可尝试使用[@progress](/user/progress)事件替代,该事件在缓冲进度变化时触发,但注意其触发频率也有限。<video :src="videoList.srcList" [@progress](/user/progress)="progress" controls></video> -
使用
created生命周期监听:在created中通过uni.createVideoContext获取视频上下文,并监听时间更新(但同样可能受iOS限制)。created() { this.videoContext = uni.createVideoContext('myVideo', this); this.videoContext.onTimeUpdate((res) => { console.log(res); }); } -
轮询当前时间:若需实时获取播放时间,可通过
setInterval结合videoContext.seek()或videoContext.currentTime获取,但频繁操作可能影响性能。setInterval(() => { const currentTime = this.videoContext.currentTime; console.log(currentTime); }, 1000);

