YouTube JavaScript Player API seekTo() call

YouTube JavaScript Player API seekTo() call

本文关键字:call seekTo API JavaScript Player YouTube      更新时间:2023-09-26

我正在使用这个小提琴来使用YT Iframe加载多个视频。 但是我的一些视频我想从特定时间开始它们,我知道我应该使用 seekTo() 调用(也许在此代码中的某个地方)

var a = document.getElementsByTagName("a");            //1
for(var i=0; i<a.length; i++){                         //2
    if(!/#ytplayer/.test(a[i].href)) continue;         //3
    var link = a[i].innerHTML.match(/'/vi'/([^'/]+)/); //4
    if(link) (function(vidId){                         //5
        a[i].onclick = function(){                     //6
            player.loadVideoById(vidId);               //7
        }                                              //8
    })(link[1]);                                       //9
}

如果有人能在这方面提供帮助,我将不胜感激! 因为我不知道如何将其集成到此代码中 小提琴!!

感谢

loadVideoById函数的签名为:

// Argument Syntax
player.loadVideoById(videoId:String, startSeconds:Number, suggestedQuality:String):Void
// Object syntax
player.loadVideoById({videoId:String, startSeconds:Number, endSeconds:Number, suggestedQuality:String}):Void

它在这里说:

可选的 startSeconds 参数接受浮点数/整数。如果是 指定,则视频将从最接近 指定时间。

我在这里对小提琴代码进行了一个小的更改,以设置视频的开始时间:

window.onload = function(){
    var a = document.getElementsByTagName("a");
    for(var i=0; i<a.length; i++){
        if(!/#ytplayer/.test(a[i].href)) continue;
        var link = a[i].innerHTML.match(/'/vi'/([^'/]+)/);
        var secs = a[i].href.match(/[^'?]*$/);
        if(link) (function(vidId,secs){
            a[i].onclick = function(){
                player.loadVideoById({'videoId': vidId, 'startSeconds': secs});
            }
        })(link[1],secs);
    }
}

这将使您能够通过给视频一个"#ytplayer?10"的href来使视频开始播放10秒

_Pez