Iframe API用于多个视频



我有一个youtube视频的幻灯片。但现在的问题是我无法触发onPlayerStateChange。这是我的代码:

echo '<iframe id="youtube" src="http://www.youtube.com/embed/kOkQ4T5WO9E?enablejsapi=1&autoplay=1&rel=0</iframe>';

这是JavaScript:

<script src="/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
    var player;
    function onYouTubePlayerAPIReady() {
        player = new YT.Player('youtube', {
            events: { 'onStateChange': onPlayerStateChange }
        });
    }
    var tag = document.createElement('script');
    tag.src = "http://www.youtube.com/player_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    function onPlayerStateChange(event) {
        if (event.data === 0) {
            alert('Video finished, next slide');
            slide.next();
        }
    }
</script>

是否有办法重新加载iframe api时,视频已经结束?

我很抱歉,据我所知,YouTube API已被完全弃用,几乎不再支持。

您将需要使用loadVideoByUrl函数加载新视频

player.loadVideoByUrl(mediaContentUrl:String,
                      startSeconds:Number,
                      suggestedQuality:String):Void

另外,您应该将event.data === 0更改为event.data == YT.PlayerState.ENDED

相关内容

  • 没有找到相关文章