iframe api for mulitple videos

时间:2016-10-04 14:11:58

标签: iframe youtube-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?

我真的很感谢你的帮助;)

感谢。

1 个答案:

答案 0 :(得分:1)

我道歉,就像我上次所知,YouTube API已被完全弃用,几乎不再受支持。

您需要使用loadVideoByUrl功能

加载新视频
player.loadVideoByUrl(mediaContentUrl:String,
                      startSeconds:Number,
                      suggestedQuality:String):Void

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