所以在我一直在努力的项目中,我使用youtube API将视频添加到无边框播放器(获得自定义按钮,一切都没有问题)。
它加载从数据库获取的youtube id(Codeigniter,PHP)。 但我想看到的是:不是加载1个视频,而是喜欢在一个播放器的提示下添加我从数据库中获得的所有视频。
因此,只有一个屏幕,首先从dbase检索的第一个视频被播放,当它完成第二个加载时,最好也是循环播放。有什么方法可以达到这个目的吗?
我的第一个猜测是用youtube id在某处保存数组并在状态改变时(当'video stop'事件被触发时)从数组中加载下一个id。还没有尝试过这个,因为如果cue刚刚在init上填充,则id更喜欢,因此在视频结束后不必加载。这可能吗?
答案 0 :(得分:1)
首先,您必须使用Youtube API版本2来激活新的状态转换功能。
这是你的代码:
var video_list = [
'21OH0wlkfbc',
'InZNBcJTmWs',
'iIzqYiRo01E',
'ZYmADPVEqU4'
];
var video_current = 0;
function onYouTubePlayerReady( ) {
var o = document.getElementById( 'ytplayer2_object' );
if( o ) {
o.addEventListener( "onStateChange", "ytplayer_statechange" );
}
}
function ytplayer_statechange( state ) {
// 0 => video ended
if ( state == 0 ) {
video_current++;
video_current %= video_list.length;
ytplayer_loadvideo(video_list[ video_current ]);
}
}