记住视频播放位置前端实现方案
·
在视频看课业务中,经常会对用户的视频学习记录进行记录,类似于视频网站的播放记录,区别是视频课程包含多个章节,需要记录XXX课程,第一节看课进度,第二节看课进度,等等。今天就来说说这块的两种实现方案,以及他们的优缺点和适用场景。

方案A:setInterval定时上报+video事件
至于课程,小节,进度时间,都只是上报后端的参数,用来做数据分类用的,这里就不做赘述,着重看Video具体的上报触发点和技术实现方案。


当视频开始播放或者暂停之后再次播放该事件都会被触发,在play事件触发后设置一次timer。

视频暂停。

视频结束。
结合这三个事件对播放记录进行记录。

该方案优点是所涉及的事件支持性较好,缺点是代码过于繁琐,要考虑各种播放场景对定时器进行操作。
方案B:Video timeupdate事件 + _.throttle

在currentTime当前播放时间改变之后触发的事件,不用考虑暂停,结束,重新播放等场景。

此处设置一个2S的阈值,来触发刚开始播放时候的进度保存。
该方案需要考虑播放的业务场景较少,缺点是timeupdate事件再视频设置了cue旁白的时候,旁白没有变,该事件也会被触发,不过目前业务没有涉及,等后续落地到实际项目中再看看兼容性,目前看该事件得到的支持性显示是full。

-- END --
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)