html - 检查嵌入式YouTube视频是否已经开始

标签 html youtube youtube-api

我有一个用于嵌入式YouTube视频的脚本。

这是我的剧本

<object width="500" height="375">
    <param name="movie" 
               value="http://www.youtube.com/v/mLDTfRDM_LE?version=3&autohide=1&showinfo=0&enablejsapi=1">
        </param>
    <param name="allowScriptAccess" value="always">
        </param>
    <embed src="http://www.youtube.com/v/mLDTfRDM_LE?version=3&autohide=1&autoplay=1&showinfo=0&rel=0&enablejsapi=1" 
               type="application/x-shockwave-flash" 
               allowscriptaccess="always" 
               width="500" height="375">
        </embed> 
        </object>

现在,我要检查视频是否已经开始播放,并基于此我要提醒:
"Hii video has started"

有一个类似此问题的链接:https://stackoverflow.com/questions/16215658/checking-whether-an-embedded-youtube-video-has-started

但是我有一个不同的脚本。

最佳答案

一般想法是这样的:

1)您需要在<embed>元素上放置一个id属性-这将允许您收听播放器事件。下一步将需要它。本示例假定嵌入ID为“myPlayer”

2)在关闭正文之前,将此脚本包括在您的页面中:

<script>
function onYouTubePlayerReady(playerId) {
        ytplayer = document.getElementById("myPlayer");
        ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}

function onytplayerStateChange(newState) {
        if (newState=="1") {
                alert("Hii video has started");
        }
}
</script>

加载播放器并准备就绪时,onYouTubePlayerReady函数将自动运行;此脚本将在那时设置一个侦听器,并且如果它听到状态更改事件告诉您正在播放视频,它将执行所需的警报。

注意一些非常重要的事情。此方法在IE上通常是不一致的-您可以将其作为属性附加到object元素:
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"

但是,更好的解决方案是不使用静态嵌入代码,而使用SWFObject。请遵循以下文档:https://developers.google.com/youtube/js_api_reference#Examples

如果使用jQuery,另一种可能性是tubePlayer插件:http://www.tikku.com/jquery-youtube-tubeplayer-plugin

当然,我最大的建议是完全不要使用嵌入的AS3,而应使用iFrame:https://developers.google.com/youtube/iframe_api_reference

关于html - 检查嵌入式YouTube视频是否已经开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19051120/

相关文章:

javascript - 无法阻止点击登录后密码在密码字段中自动延长

html - asp.net html 中的一列中有 2 个单元格

html - 文本框之间的间距不均匀

javascript - 代码适用于 codepen 和 jsfiddle

Youtube API 检测广告

YouTube Data API v3 Queries Per Day 配额问题

youtube - 单击播放按钮时如何将标题扩展到视频的标题/横幅?

javascript - Chrome上的Youtube iFrame API错误

android - 在android中自定义youtube播放器 View

android - 在 Android VideoView 中流式传输 Youtube 视频