我需要一些关于Youtube API和嵌入视频的帮助。我想在点击新的YouTube视频时停止当前页面上运行的所有iframe视频(这里我仅拍摄了3部,但有几部视频)。在某个时间点,只能运行一个iframe youtube视频。我已经thruogh文档[https://developers.google.com/youtube/js_api_reference][1],并能编写到这里......播放新视频时停止所有视频
更新时间:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="http://www.youtube.com/player_api"></script>
<script type="text/javascript">
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
var done = false;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
alert("hi5");
player1.stopVideo();
player2.stopVideo();
done = true;
}
}
</script>
</head>
<body>
<div>TODO write content</div>
<ul class="image-grid" id="list">
<li>
<iframe id="player" width="385" height="230" src="http://www.youtube.com/embed/erDxb4IkgjM?rel=0&wmode=Opaque&enablejsapi=1;showinfo=0;controls=0" frameborder="0" allowfullscreen></iframe>
</li>
<li>
<iframe id="player1" width="385" height="230" src="http://www.youtube.com/embed/wSrA5iQGlDc?rel=0&wmode=Opaque&enablejsapi=1;showinfo=0;controls=0" frameborder="0" allowfullscreen></iframe>
</li>
<li>
<iframe id="player2" width="385" height="230" src="http://www.youtube.com/embed/c7b_WLkztXc?rel=0&wmode=Opaque&enablejsapi=1;showinfo=0;controls=0" frameborder="0" allowfullscreen></iframe>
</li>
</ul>
</body>
</html>
修订
- onStateChange事件不获取触发(工作)
- 在这个例子中我有3个视频,在现实中却具有更多的视频,而不是写onPlayerStateChange每个video..is可以使用数组的所有视频。在功能上PlayerStateChange,写入player []。stopVideo()和this.playvideo()..这类东西..(需要帮助) 请看这个小提琴http://jsfiddle.net/LakshmiV/kn5Sf/ 请帮忙。
你可以做的是调试事件参数中的数据,并检查是否可以看到正在播放哪个播放器。根据不同的情况,您可以尝试关闭或打开视频。 – 2013-02-15 08:04:56
错过了对onYouTubeIframeAPIReady()的调用。现在检查 – 2013-02-15 08:55:30
你可以请检查链接http://jsfiddle.net/anubhavranjan/Y8P7y/ – 2013-02-15 10:11:41