我使用以下代码(由我的朋友编写,我是JS的初学者)使用不同的YouTube视频创建多个iframe,然后我可以使用seekTo从文本中链接到该iframe( t)功能 -
var players = [];
function onYouTubeIframeAPIReady() {
YTready()
}
function createPlayer(ref, divID, videoID) {
players[ref] = new YT.Player(divID, {
height: '360',
width: '640',
videoId: videoID,
events: {}
});
}
function jumpToTimecode(ref,t){
for(var i=0;i<players.length;i++){
if(i!=ref){
players[i].stopVideo()
}
}
players[ref].seekTo(t)
players[ref].playVideo()
}
它包含一种在用户点击链接后停止所有其他视频的方法。如果用户只需点击其中一个YouTube播放器上的播放按钮,我想要做的就是添加一个可以执行相同操作的功能(停止页面上的所有其他视频)。
我正在考虑在createPlayer函数中定义一个onStateChange&#39;:onPlayerStateChange事件,然后添加一个函数,让任何一个玩家改变他们的状态来播放// if(event.data == 1)//将遍历所有玩家并停止任何不是被点击的玩家。但是,我不确定如何引用被点击的玩家(因为它可能是其中任何一个,所以我不能提前知道它的参考值)。< / p>
或者这是错误的方法吗? 任何帮助将非常感谢。
答案 0 :(得分:-1)
好的,我解决了这个问题(在我朋友的帮助下)。
function onPlayerStateChange(event) {
if(event.data == 1) {
var ref = event.target.f.id
for(var i=0;i<players.length;i++){
if(players[i].f.id != ref){
players[i].stopVideo()
}
}
}
}
,event.target.f.id是玩家在创建时给予的唯一ID(由我)。