我的用户正在使用旧的嵌入方法来利用 YouTube 为您提供的标签,而不是 iframe。我试图弄清楚当用户与其交互时如何检测播放器状态(当它被暂停、播放等),以便当用户点击下一张幻灯片时我可以暂停视频。
目前使用 Wordpress,我有一个元框,允许他们粘贴 YouTube 嵌入代码,然后我将该代码块输出到滑块上。我正在我的本地主机上工作(例如:http://mysite.dev)。需要知道的是,用户可能在滑块上有多个视频。
对于我的生活,我无法让 YouTube API 执行。
1)这是他们粘贴到框中的 youtube 嵌入对象
<object width="475" height="271">
<param name="movie" value="http://www.youtube.com/v/soefG7iisoE?wmode=opaque&version=3&enablejsapi=1&modestbranding=1&autohide=1&rel=0&hl=en_US"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/soefG7iisoE?wmode=opaque&version=3&enablejsapi=1&modestbranding=1&autohide=1&rel=0&hl=en_US" type="application/x-shockwave-flash" width="475" height="271" allowscriptaccess="always" allowfullscreen="true"></embed>
</object>
2)这个视频在我用一个div制作的滑块中:
<div class="videoContainer">
[there youtube embed code outputs here - see point 1]
</div>
我正在使用 JQuery,我尝试像这样调用 API:
function onYouTubePlayerReady(playerId) {
// using the class and the tag as selector because there could be
// multiple videos *and* the user might not put an ID in the object tag
ytplayer = $('.videoContainer object');
ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
function onytplayerStateChange(newState) {
alert("Player's new state: " + newState);
}
我有一个名为 stopCycle 的函数,包含在 jQuery(document).ready(function($) {}); 代码块,当用户单击下一张幻灯片时,我需要调用这个函数。
所以这是我的问题:
- 我需要调用任何外部 JavaScript 文件吗?
- 在我的 JQuery 文档就绪块中,我如何调用 YouTube api 来检查视频是否正在播放?
- 我的代码中是否还有其他内容或您需要查看的内容?
我想知道让他们只输入 YouTube URL 是否会更好,然后我将使用 JQuery SWFObject 输出视频。我不知道该怎么做是循环播放每张幻灯片的视频(总共 5 个)。因此,如果他们有每个滑块的视频,我会怎么做?
我知道……这里满是问题。