如果在mp4之后列出,则Chrome的MediaElement.js无法下载webm文件

时间:2011-03-05 22:10:29

标签: google-chrome html5-video mediaelement.js

当我使用MediaElement.js并首先列出mp4文件然后列出webm时,它在Chrome(11.0.686.3 dev)中没有播放任何内容。
它在Safari / FF / Opera中运行良好 如果我首先列出mp4并且第二次列出webm但是不使用原生HTML5视频调用mediaelementplayer,那么它在Chrome中工作正常。
如果我调用mediaelementplayer但首先列出webm文件,它在Chrome(和其他)中也可以正常工作。 我尝试了所有变化,但无法弄清楚这种行为。 我通过更改Chrome服务器端的源顺序解决了这个问题,但我并不是该解决方案的粉丝 如果有人有任何想法,我将不胜感激。

我的HTML

<video width="475" height="275" controls="controls">  
    <source src="/media/BetterDays.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />   
    <source src="/media/BetterDays.webm" type='video/webm; codecs="vp8, vorbis"'/>  
    <source src="/media/BetterDays.theora.ogv" type='video/ogg; codecs="theora, vorbis"' />

   <!-- Flash fallback -->  
   <object width="475" height="275" type="application/x-shockwave-flash" data="/javascripts/flashmediaelement.swf">  
        <param name="movie" value="/javascripts/flashmediaelement.swf" />  
        <param name="flashvars" value="controls=true&poster=/images/better_poster_200.jpg&file=/media/BetterDays.mp4" />  
    </object>  
    <!-- Image as a last resort -->  
    <img src="/images/better_poster_200.jpg" width="475" height="275" title="No video playback capabilities" />  
</video>  

我的jQuery电话:
      $( '视频')mediaelementplayer();

3 个答案:

答案 0 :(得分:0)

我猜测Chrome 11是第一个删除H.264的版本,因此报道它可以和不能播放的内容可能有点棘手。我将切换到Chrome的开发频道,看看我是否能看到正在发生的事情。

最好在https://github.com/johndyer/mediaelement处提交错误,因为这不是真正的实施问题。

答案 1 :(得分:0)

我认为我有同样的问题。我用来初始化播放器的第一个jQuery代码是:

var player = new MediaElementPlayer('#video-player',{});
player.play();

然后我将其更改为此并且有效:

$('#video-player').mediaelementplayer({
    success: function(player, node) {
        $('#' + node.id + '-mode').html('mode: ' + player.pluginType);
    }
});

HTH

答案 2 :(得分:0)

我将视频标记上的预加载更改为“自动”并且可以正常工作。我正在运行chrome 27