Flowplayer,无限执行cuepoint

时间:2012-07-17 15:50:43

标签: jquery flowplayer

我需要为电子学习应用程序制作以下工作流程:

  1. 暂停播放器
  2. 隐藏播放器
  3. 显示问题(挑战)
  4. 获得用户回答

  5. 如果答案是真的

    1. 隐藏问题div
    2. 显示播放器
    3. 恢复播放
  6. 如果答案错误,请重新加载页面并从头开始播放视频

  7. 我需要在播放视频时保持手动搜索功能。 这是我的代码

    flowplayer_settings.clip.onCuepoint = [config.de, function(clip, point) {
       this.pause();
       this.hide();
    
       $("#question").show();
    
       $.ajax({
         url: config.qp,
         success: function(data) {
           $("#question").html(data);
           $('#advance').click(function() {
             $f().show();                                                                                                                                                                                                                  
             $f().resume();
           });
         },
         dataType: 'html'
       });
     }];
    

    在代码中,当我点击#advance按钮,在我正确回答问题后显示,我得到另一个问题,似乎cuepoint被称为无限次。我无法理解。有什么建议吗? 非常感谢。

1 个答案:

答案 0 :(得分:2)

我解决了一个肮脏的解决方案,我并不为此感到自豪,但我没有找到任何更好的方法来解决这个问题。 我只是放了一个标志来检查cuepoint是否已被执行,如果是,我跳过了cuepoint代码。

flowplayer_settings.clip.onCuepoint = [config.de, function(clip, point) {
if (flag == 1) {
  this.pause();

  if (this.isFullscreen()) {
    this.toggleFullscreen();
  }

  $.blockUI({ message: $("#question"), css: { top: '30%' } });

  $.ajax({
    url: config.qp,
    success: function(data) {
      $("#question").html(data);
      flag = 0;

      $('#advance').click( function () {
        $.unblockUI();
      });

      $('#failure > button').click( function () {
        $.unblockUI();
        location.reload();
      });

    },
    dataType: 'html'
  });
}