当使用flash到html5后备时,如果将html5自动播放设置为true,则两个播放器都将播放

时间:2012-05-28 03:46:31

标签: html5 html5-video flowplayer autoplay

我们有一个页面使用和标签启用flowplayer flash到html5后备。代码段如下:

<object id="flowplayer" width="100%" height="100%" bgcolor="#000000"
data="/flowplayer/3.2.11/flowplayer.unlimited-3.2.11.swf"
type="application/x-shockwave-flash"> 

<param name="movie" value="flowplayer/3.2.11/flowplayer.unlimited-3.2.11.swf" /> 

<param name="allowfullscreen" value="true" /> 
<param value="always" name="allowscriptaccess"/>
<param value="high" name="quality"/>
<param value="true" name="cachebusting"/>
<param value="#000000" name="bgcolor"/> 

<param value="config=/r/m/veuscqj/e8EJVo/config" name="flashvars"/>

    <video controls="controls" autoplay  style="height:100%; width:100%;">
            <source src="/veuscqj/25aRpC/20120521011327_CONT3Emp4MEDIUM_mp4-MEDIUM.mp4"
                type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'
            >
    </video>    

问题是当我们为html5播放器设置autoplay属性时,如果给定的浏览器支持html5并提供编码,浏览器将始终几乎同时播放两个播放器(flash和html5)。因此,您将听到两个音频在后台播放,并且有几秒钟的差距。

理论上,我们认为html5播放器只有在flash对象无法加载时才会触发,但实际上无论浏览器如何都会加载播放器。

如果为html5禁用了自动播放,则不会出现此问题。

任何人都可以帮助我们解决问题吗?

1 个答案:

答案 0 :(得分:1)

原谅我之前的回答。

但是,我找到了另一种解决方案。我们需要检查闪存是否可用,对吗? 如果是这种情况,this link可能会有用。

关键是,您可以使用swfobject创建if / else结构,以确定需要显示哪些内容并执行。