我有一个项目,我有一组时间戳,在设定的位置暂停嵌入的视频。 这个工作在一个月前工作得非常好,但现在已经停止工作而没有对代码开始进行任何更改。
测试代码,我知道我无法再访问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;
}
答案 0 :(得分:0)
我找到了解决方案。我不知道它为什么停止工作,但我没有使用JavaScript生成的iframe,而是使用HTML生成的iframe。一旦我改为只使用JavaScript生成的那个,它就可以了。我现在无法在移动设备上获取视频,因为他们不会允许自动播放。但那是另一回事......