我在这里创建了一个 JS fiddle :
http://jsfiddle.net/lindseymysse/6C65Y/1/
错误:
从昨天晚上开始,我正在处理的网站上的一些视频停止向用户加载。我们正在使用 iframe 嵌入,并尝试使用 html5 做尽可能多的事情。
要重现此错误:
如果用户是
未注册/尚未决定打开 html5 视频或
用户已开启 html5 试用版,视频无法在 MacBook 上播放 Chrome、Firefox 或 Safari。
如果用户打开然后关闭 html5 试用版,或者(如果他们已经注册了 html5 试用版)刚刚关闭,则嵌入将起作用
一些线索:
损坏视频的调试如下所示:
- 调试播放质量=小
- 斯科维尔=1
- cfps=0
- pd=0
- mos=0
- 调试 flashVersion=MAC 11%2C2%2C202%2C235
- fs=0
- hl=zh-CN 美国
- 调试日期=2012 年 5 月 10 日星期四 14%3A40%3A14 GMT%2D0700
- iframe=1
- lact=null
- videoFps=0
- vq=自动
- h=355
- stageFps=24
- 调试错误=未指定
- tpmt=0
- framer=http%253A%252F%252Ffiddle%2Ejshell%2Enet%252FunPrz%252F5%252Fshow%252F
- 音量=100
- droppedFrames=0
- w=473
- el=详细页面
- screenw=1440
- 屏幕=900
- 调试 videoId=
- playerw=640
- 调试源数据=
更多:
- Mozilla 给出错误:-- 解析preserveAspectRatio 属性时出现意外的值对齐。
- 我们发现此嵌入损坏的视频即使在 html5 试用版中也可以作为 Flash 视频播放。
请参阅我的 jsFiddle 来重现该错误。
这是什么原因造成的?这个错误并没有在 youtube api onError 调用中引发错误,有没有办法发现它以便我们处理这个问题?
最佳答案
YouTube 在过去几天中确实更改了其 API,并且 HTML5 视频播放器的 Flash 回退失败。其他用户报告显示黑色或空白的 YouTube 播放器屏幕以及视频持续时间为 0:00,这是在 SWF 播放器出现后此错误的其他症状。
我使用解决方法更新了您的 jsfiddle.net,以便从最初开始仅使用 Flash 播放器,这样可以防止 Flash 问题的回退,直到问题得到解决。
它会保留您的/embed/方案,因此使用的任何自定义 API 仍然有效。
解决方法添加播放列表参数,不带其他视频值和逗号(通常用于分隔播放列表中的视频),以便实现播放列表为 1。
当然,如果您已经在使用播放列表,那么您就不会遇到此错误,因为播放列表是目前唯一强制 Flash 播放器在/embed/URL 中正确呈现的 Flash 专有项目.
这是更新:
状态报告:此 YouTube API 错误已不再是问题。
关于html - Youtube Iframe Embed 是否已停止对某些视频工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10543238/