如何确保用户观看整个视频?

bet*_*eth 7 php youtube youtube-api

背景:

我正在开发一个基于网络的教学计划(使用Drupal 7,如果这很重要),要求用户按顺序查看教育视频.我想确保他们在访问下一个视频之前完整地查看每个视频.我对YouTube API很不熟悉,但我仔细阅读了PHP开发人员指南,但没有找到有关如何执行此操作的任何信息.

我愿意接受任何合理的方式来实现这一目标.我在考虑检查一个或两个随机时间码是否被击中,以及电影是否完成播放,将使得在不观看视频的情况下跳过前进相当困难.

所以要做到这一点,我需要弄清楚两件事:

  1. 如何让服务器知道正在查看的视频何时达到所选时间码,以及
  2. 如何让服务器知道何时到达视频结束.

如果有人能指出我正确的方向,我会非常感激.

小智 1

使用 youtube api,您可以“ping 服务器”

  function onPlayerStateChange(evt) {       
       if (evt.data == 0){
       alert (player.getDuration())
     }
 }
Run Code Online (Sandbox Code Playgroud)

然后您可以获得剪辑的持续时间。进一步使用 api - 用户开始和停止的时间应该可以让您计算出用户观看剪辑所花费的时间。将其与持续时间进行比较,如果匹配(或足够接近)则触发奖励。

https://developers.google.com/youtube/js_api_reference