在实际的视频标签中实际播放YouTube视频并没有真正可靠的方法。 YouTube不希望你这样做,这可能违反了他们的TOS。无论如何,该网址可能会定期更改,无论YT是否调整其基础设施,还是阻碍人们直接访问视频文件。
但是,如果您使用的是视频标签,则可以采取几个步骤来处理所有可以执行的操作。首先,您可以将“html5 = 1”提示添加到嵌入中,这会告诉YouTube使用html5视频而不是Flash(通常符合但不总是)。该视频将位于iframe中,但您可以将所有常用CSS技巧应用于该iframe - 不透明度,变换等。
如果您使用的是YouTube API,请将html5: 1
添加到playerVars
。如果你只是在做直iframe嵌入,将其添加到查询字符串是这样的: http://www.youtube.com/embed/okqEVeNqBhc?html5=1
现在,如果你想多走一步,Popcorn.js目前对YouTube的API一个漂亮的wrapper object那将制作一个YouTube(他们也有一个用于Vimeo)视频的行为与HTMLVideoElement类似,具有大部分相同的属性,方法和事件。这并不完美,但它非常好。
注意:该文件的官方消息是mozilla/popcorn-js回购,但this one目前提前提供错误修复和功能。您需要包含该回购的最新版本的Popcorn.js和wrappers/common/popcorn._MediaElementProto.js
。确保在设置src
时将&html5=1
添加到YT URL。
你会注意到的区别是:即使有包装
,HTML5视频API只执行一点点比YT API更好。例如更灵敏和更好的缓冲报告。
您无法摆脱在暂停或鼠标悬停时显示的右下角的YouTube图标。
您不能阻止YouTube展示广告。
您无法访问Audio API和canvas/webgl绘图等实际视频/音频内容。但是由于交叉来源的限制,你无法做到这一点。
你尝试这个http://www.youtube.com/html5 – dmi3y