我有一个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