5

我正在使用VideoJSSWFObject嵌入视频。这个想法是 VideoJS 将尝试使用 HTML5 视频标签,如果不支持它,它将回退到 Flash。我正在尝试使用 SWFObject 嵌入 Flash 以用作后备。以下是相关代码:

<ul id="client_gallery">
<% if PortfolioMedia %>
    <% control PortfolioMedia %>
    <% if VideoFile %>
        <li style="width:{$VideoWidth}px;height:{$VideoHeight}px">
            <div class="video-js-box">
                <video class="video-js" width="$VideoWidth" height="$VideoHeight" controls preload>
                    <source src="$VideoFile.URL" type="video/mp4" />
                    <div id="flash_player"></div>
                    <script type="text/javascript">
                    var flashvars = {
                        'file': "$VideoFile.URL"
                    };

                    var params = {
                        'allowfullscreen': "true",
                        "wmode": "transparent"
                    };

                    var attr = {
                        'id': 'f_player',
                        'name': 'f_player'
                    };

                    swfobject.embedSWF('/portfolio/javascript/jwplayer/player.swf', 'flash_player', '$VideoWidth', '$VideoHeight', '9', '', flashvars, params, attr, function(e){
                    });
                    </script>
                </video>
            </div>
        </li>
        <% end_if %>
    <% end_control %>
<% end_if %>
<script type="text/javascript">
    $(function(){
        VideoJS.setupAllWhenReady();
    });
</script>
</ul>

另一个符号来自 CMS Silverstripe,与本期无关。这适用于 Chrome、Safari 和 IE,但不适用于 Firefox。在 Firefox 中,我得到的只是一个空容器,好像它试图使用<video>标签但无法加载兼容的源。

它根本没有嵌入 Flash,而且我知道 swfobject 代码正在工作,因为如果我只使用 swfobject 代码,而不是在<video>标签内,它可以完美运行。所以问题是:VideoJS 不会回退到 swfobject 嵌入的代码。但为什么?

4

1 回答 1

2

videojs 已经内置了 Flash 支持作为后备。如果您想使用自己的 Flash 播放器,您可以在选项中进行更改,例如:

<script type="text/javascript">
  VideoJS.options.flash.swf = "pathtoyourplayer.swf";
  VideoJS.options.flash.flashVars = {youroptions};
  VideoJS.options.flash.params = {youtparams};
  VideoJS.options.flash.attributes = {yourattributes};
</script>

..

<video ...>
  <source src=".." type="video/mp4" />
</video>

附加: swfObject 已经包含在 videojs 中。

于 2012-01-23T16:28:53.413 回答