将多个YouTube视频嵌入到无边框播放器提示中

时间:2010-05-21 08:36:58

标签: php api youtube

所以在我一直在努力的项目中,我使用youtube API将视频添加到无边框播放器(获得自定义按钮,一切都没有问题)。

它加载从数据库获取的youtube id(Codeigniter,PHP)。 但我想看到的是:不是加载1个视频,而是喜欢在一个播放器的提示下添加我从数据库中获得的所有视频。

因此,只有一个屏幕,首先从dbase检索的第一个视频被播放,当它完成第二个加载时,最好也是循环播放。有什么方法可以达到这个目的吗?

我的第一个猜测是用youtube id在某处保存数组并在状态改变时(当'video stop'事件被触发时)从数组中加载下一个id。还没有尝试过这个,因为如果cue刚刚在init上填充,则id更喜欢,因此在视频结束后不必加载。这可能吗?

1 个答案:

答案 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 ]);
    }
}