我在WordPress中嵌入了以下视频
<iframe id="video" width="640" height="360" src="http://www.youtube.com/embed/xxxxxx?enablejsapi=1" frameborder="0" allowfullscreen></iframe>
它位于SlideDeck滑块内,我想在有人点击视频时停止。我无法弄清楚如何获得这行代码
self.pauseAutoPlay = true;
在视频播放时运行。
我非常需要一些帮助。
编辑:因为我不是最终用户。我需要一些适用于YouTube默认嵌入代码的内容。
答案 0 :(得分:20)
您需要使用YouTube iFrame API。请记住,我只知道Javascript的基础知识,所以这可能会更有效率。
你按照通常的方式嵌入你的iframe
<iframe id="player" width="640" height="360" src="http://www.youtube.com/embed/TJ2X4dFhAC0?enablejsapi" frameborder="0" allowfullscreen></iframe>
但有一些变化。它需要有一个ID“播放器”,您需要将?enablejsapi
附加到源URI的末尾。
然后,您需要运行以下脚本来加载API JS以及创建播放器
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'u1zgFlCw8Aw',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
请注意,new YT.Player('player'
应与您的iframe ID匹配,且videoId: 'u1zgFlCw8Aw'
应与src URI匹配。
在此之后,您将能够运行像
这样的脚本var myPlayerState;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
// DO THIS
}
myPlayerState = event.data;
}
if (myPlayerState == 1){
// PAUSE SLIDER
}
答案 1 :(得分:8)
你需要直接用flash嵌入youtube:
http://code.google.com/apis/youtube/js_api_reference.html#Embedding
之后,您可以使用youtube javascript API。
您的代码可能是这样的:
<script type="text/javascript" src="swfobject.js"></script>
<div id="ytapiplayer">
You need Flash player 8+ and JavaScript enabled to view this video.
</div>
<script type="text/javascript">
var params = { allowScriptAccess: "always" };
var atts = { id: "myytplayer" };
swfobject.embedSWF("http://www.youtube.com/v/VIDEO_ID?enablejsapi=1&playerapiid=ytplayer&version=3",
"ytapiplayer", "425", "356", "8", null, null, params, atts);
var player;
function onytplayerStateChange(newState) {
if (newState == 1)
callPlay();
else if (newState == 2)
callPause();
}
function callPlay() {
//video is play
}
function callPause() {
//video is paused
}
</script>
P.S。 swfobject.js 你可以找到here