Cycle2:播放YouTube视频时自动暂停幻灯片播放(超时)

时间:2015-01-22 12:40:47

标签: jquery cycle jquery-cycle jquery-cycle2

当用户点击YouTube播放按钮(http://jquery.malsup.com/cycle2/demo/video.php

时,我想暂停我的Cycle2幻灯片演示

重要代码部分:

data-cycle-timeout=5000
data-cycle-youtube=true
data-cycle-youtube-autostart=false

到目前为止,我的解决方法是设置暂停 - 但当然,无法正常工作'当用户鼠标移动幻灯片

data-cycle-pause-on-hover="true"

是否有某种隐藏功能可以在视频播放中暂停幻灯片显示?

1 个答案:

答案 0 :(得分:0)

如果你正在使用data-cycle-youtube = true - 试试这个简单的JS / JQuery代码和Youtube API:

1)找到所有玩家并在其上附加 EventListeners

2)处理玩家状态变化并做任何你想做的事情。暂停/恢复幻灯片

function onYouTubePlayerReady(){     
      var players = $('.cycle-youtube embed').each(function(){   
        if(this.addEventListener) {  
          this.addEventListener('onStateChange', 'handlePlayerStateChange');     
        }else{ 
          this.attachEvent('onStateChange', 'handlePlayerStateChange');  
        }    
      });    
}
function handlePlayerStateChange(state) {    
      switch(state) {    
        case 1: case 3:  // Video has begun playing/buffering    
            $('.cycle-slideshow').cycle('pause'); 
        break;   
        case 2: case 0: // Video has been paused/ended   
            $('.cycle-slideshow').cycle('resume');   
        break;   
      }  
}