问题描述
一个视频播放的功能,并且可以设置从指定位置开始结束。如果视频是按照正常的从头到尾播放则正常,但是如果设置了开始位置时间后,会导致一个问题便是视频跳转到指定位置后,但是视频并未加载到此位置,就就导致绿屏等类似现象。
解决办法
当然这个问题很清晰是什么原因导致的。找了一些办法来判断视频是否加载成功。一开始是用的是 durationchange, 这个只是视频的总时长变化会触发,不准确。后面又用过loadedmetadata ,还是不怎么能很有效的解决。去了官网找信息。解决了。
- loadstart 加载开始
- durationchange 时长发生变化
- loadedmetadata 视频数据/元数据已加载
- loadeddata 当前帧已加载,但不能播放下一帧
- progress 正在下载视频
- canplay 可以播放指定视频时触发
- canplaythrough 可以不停下来缓存视频的播放视频
上面的事件方法是按照触发顺序排序的 , 直接选取最后一个解决了问题 , 也可以针对不同的问题来选取不同的事件方法来解决问题 。 tips:react中可以直接在标签中绑定,方法名 on+(名称驼峰)即可