player.getCurrentTime()停止工作

时间:2014-03-13 07:26:48

标签: javascript video timer youtube

我有一个项目,我有一组时间戳,在设定的位置暂停嵌入的视频。 这个工作在一个月前工作得非常好,但现在已经停止工作而没有对代码开始进行任何更改。

测试代码,我知道我无法再访问player.getCurrentTime()。

任何人都知道为什么这可能会停止工作?

function timerCount() {  

current_time = Math.round(player.getCurrentTime()*10)/10;

timer = setTimeout("timerCount()", 100);
document.getElementById('CT').innerHTML = current_time; 
if(sign == true){ 
      for(var j = 1; j < videoTS[inp_idx].length; j++){
          if(current_time == videoTS[inp_idx][j] && autoStop == true){
              pauseVideo();
          }
      }
}else{ 
      for(var j = 1; j < video[inp_idx].length; j++){
      if(current_time == video[inp_idx][j] && autoStop == true){

          pauseVideo();
      }
  }
 }
}

将代码拆解为基本功能仍然没有getCurrentTime工作...

var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'EG3Nh19wE4I',
events: {
  'onStateChange': loadVideo
}
});
}


var current_time;

function loadVideo(id){


newID = "//www.youtube.com/embed/"+id;
var player = document.getElementById('player');
document.getElementById('player').src = newID; 
current_time = player.getCurrentTime();
document.getElementById('CT').innerHTML = current_time; 
}

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我不知道它为什么停止工作,但我没有使用JavaScript生成的iframe,而是使用HTML生成的iframe。一旦我改为只使用JavaScript生成的那个,它就可以了。我现在无法在移动设备上获取视频,因为他们不会允许自动播放。但那是另一回事......