• 在线教育平台关于课程进度的处理方法


    看过几个开源的在线教育平台系统,关于学习课程的进度没有进行处理.选择一个课程后进行播放,播放几分钟后退出,再进入的时候课程进度显示100%或者是无进度显示,手动点击已完成结束课程的学习.这个对于强制学习的项目就显得不合理了,由于对web视频播放不是很了解,该问题没有想到好的方法解决.

    如果是控件进行播放视频,控件如果能统计播放时间的话就可以了.但是找了几个视频播放控件,API中没有正在播放的视频实际播放时间的统计功能.

    后来又调查了腾讯课堂和网易云课堂,网易云课堂和开源的项目处理是一样的,只有课程进行中的显示,腾讯课堂是有进度百分比显示的.于是打开Firebug查看网络交互,发现每隔30s,浏览器会POST report_study_record,参数有持续时间(30S或31S),课程id,用户id等相关信息.应该是在视频播放的时候通过javascrpt定时发送POST消息,此外还有暂停视频播放的时候也会有该消息,如果直接关闭页面的话就没有了,这样的话最多少30S的计时时间.然后我在Firebug中右键选择POST消息,再选择重现发送,发送多次后返回课程列表后课程的已学习时间已经相应增加了.

    无标题

    剩下的问题就是JS对视频播放和暂停状态的获取以及计时(setTimeout和clearTimeout)的功能实现了.

  • 相关阅读:
    Excutor线程池
    java-集合学习-底层实现
    java-接口—策略模式
    java开发技巧
    精进之道——为什么要问老师,不遮掩自己的弱点
    如何学习——为什么不想听课
    如何学习——如果差距过大怎么办
    Yii 之控制器响应
    Yii 之控制器创建使用
    PHP 之命名空间
  • 原文地址:https://www.cnblogs.com/newvoyage/p/5530081.html
Copyright © 2020-2023  润新知