この例を示したいと思いますが、できる限り説明しようと思います。
jwPlayer 5.7 をクライアントの Web ページに統合しました。プレイリストは、約 120 のビデオで構成される XML ファイルから供給されます。これらのビデオの一部は、4 部構成のシリーズに分割されています。クライアントは、これらのビデオが選択されたときに、そのプレイリストがシリーズの 4 つのビデオとそれらの 4 つのビデオのみを表示することを好みます。
$(function() {
buildPlayer();
function buildPlayer() {
jwplayer('mediaplayer').setup({
'autostart': 'false',
'controlbar': 'bottom',
'id': 'playerID',
'width': '960',
'height': '400',
'file': 'videos.xml',
'modes': [
{type: 'flash', src: '/jwplayer/player.swf'},
{type: 'html5'},
{type: 'download'}
],
'skin': 'skywalker.zip',
'playlist.position': 'right',
'playlist.size': '300'
});
};
// On playlist Item change...
jwplayer().onPlaylistItem(function(event) {
var curItem = (event.index);
console.log('index change..' + curItem);
if (curItem == 0) {
jwplayer('mediaplayer').play();
}
else if (curItem == 74) {
jwplayer().load([{file:"video-series-1.xml"}]);
return false;
}
else {
console.log('not webinar');
jwplayer().load([{file:"media-feed.xml"}]);
jwplayer('mediaplayer').play();
}
});
});
これはある程度機能します。プレイリストが「シリーズ」の XML ファイルに変わります。しかし、関数のリンクをクリックした後:
jwplayer().playlistItem(57);
jwplayer().onPlaylistItem 関数はトリガーされません。このプレイリストにはインデックスが 57 の動画がないためだと思います (合計 4 本の動画のみです)。