我一直在审查开发人员在HTML5网站上添加Flash回退的不同方式的材料。
我有这个测试代码与伪视频:
<video width="944" height="532" controls preload="auto" poster="imgs/vidPosterImg.jpg">
<source src="videos/2010reel.mp4" type="video/mp4" />
<source src="videos/2010reelogg.ogv" type='video/ogg; codecs="theora, vorbis"'>
<embed src="flash/mainsceen.swf" type="application/x-shockwave-flash" width="944" height="531" allowscriptaccess="always" allowfullscreen="true"></embed>
<object width="320" height="240" type="application/x-shockwave-flash"
data="flash/mainsceen.swf">
<param name="movie" value="flash/mainsceen.swf" />
<param name="allowfullscreen" value="true" />
</object>
<object type="application/x-shockwave-flash" data="flash/mainsceen.swf" width="944" height="532">
<param name="movie" value="flash/mainsceen.swf">
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always">
</object>
</video>
mp4和ogv在Firefox中运行。但Flash没有。
此外,在Safari中,当加载元数据时,海报图像似乎被跳过到视频的第一帧。
更正,WP4在Firefox中不起作用,只支持OGG。您必须已经通过删除WP4和OGG源代码在Firefox中进行了测试。如果你离开了OGG源代码,它至少会使用HTML5播放。
每个人的视频(视频编码部分)状态:
Firefox将只播放Ogg(Firefox 4也支持WebM),并且如果没有兼容Firefox的视频,它不会降级为Flash文件
因此,必须存在ogg源,闪存回退才能工作。你必须相信它是有效的。这就是FireFox浏览器解析视频元素的方式——如果它看不到ogg源,那么它将无法到达闪存回退,并且您的回退将看起来被破坏。
如果需要测试flash回退是否有效,则必须删除其周围的视频和源标签,以便浏览器别无选择,只能运行flash视频。