2016-01-09 9 views
8

Ich habe eine Webseite, die die Youtube Iframe-API verwendet, und ich es geschafft, die videoId mit dieser Zeile Code zu ändern:Ändern Youtube Iframe playerVars dynamisch

player.loadVideoById(videoId) 

Aber um für das Video-Schleife sowohl videoId und Playlist müssen übereinstimmen und so muss ich auch den Playlist-Parameter im playerVars-Objekt ändern. Könnte mir jemand eine einfache Möglichkeit geben, sich dem zu nähern?

Dies ist der ursprüngliche Code:

var player; 
function onYouTubeIframeAPIReady() { 
player = new YT.Player('player', { 
height: '390', 
width: '640', 
videoId: 'M7lc1UVf-VE', 
playerVars: { 
    'loop' : 1, 
    'playlist': 'M7lc1UVf-VE' 
    }, 
events: { 
    'onReady': onPlayerReady, 
    'onStateChange': onPlayerStateChange 
    } 
}); 
} 

ich eine Variable versucht haben, Einstellung wie unten dargestellt und verändert sie dynamisch, wie ich loadVideoById tat:

player.loadVideoById(videoId) 
currentVideoId = videoId 

und

var player; 
function onYouTubeIframeAPIReady() { 
player = new YT.Player('player', { 
height: '390', 
width: '640', 
videoId: currentVideoId, 
playerVars: { 
    'loop' : 1, 
    'playlist': currentVideoId 
    }, 
events: { 
    'onReady': onPlayerReady, 
    'onStateChange': onPlayerStateChange 
    } 
}); 
} 

Antwort

0

Verwenden Sie .loadPlaylist(), um die Wiedergabeliste und die (numerische) Nummer inde festzulegen x des Videos (innerhalb der Wiedergabeliste) anstelle der Video-ID.

player.loadPlaylist({list:String, 
       listType:String, 
       index:Number, 
       startSeconds:Number, 
       suggestedQuality:String}):Void 

Diese Funktion lädt die angegebene Liste und es spielt. Die Liste kann eine Wiedergabeliste, ein Suchergebnis-Feed oder ein vom Nutzer hochgeladener Video-Feed sein.

  • Die optionale listType Eigenschaft gibt die Art der Ergebnisse-Feeds, dass Sie abrufen. Gültige Werte sind playlist, search und user_uploads. Der Standardwert ist playlist.

  • Die erforderliche list Eigenschaft enthält einen Schlüssel, der die bestimmte Liste von Videos angibt, die YouTube zurückgeben soll.

...

1

Siehe this example fiddle wo zwei Videos in zwei verschiedenen Wiedergabelisten in der clickEventHandler() Funktion geladen werden (abhängig von dem id Attributwert der Liste Gegenstand geklickt).

player.loadPlaylist({ 
    list: 'PLUdAMlZtaV11U9AtszkMh0bpRqM4dtlDC', 
    index: 7 
    });