YouTube JavaScript播放器API seekTo()调用

时间:2013-10-04 21:39:32

标签: javascript api youtube

我正在使用此fiddle以使用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
}

如果有人可以帮忙,我会很感激!因为我不知道如何将它集成到这段代码中fiddle !!

THX

2 个答案:

答案 0 :(得分:0)

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参数接受float / integer。如果是   指定,然后视频将从最近的关键帧开始   指定的时间。

答案 1 :(得分:0)

我对小提琴代码here进行了一些小改动,以设置视频的开始时间:

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);
    }
}

这样你就可以通过给它一个href“#ytplayer?10”来让视频开始播放10秒钟

_Pez