如果第一个视频源不可用,则将MediaElement.js“翻转”到辅助视频源

时间:2013-02-11 22:33:52

标签: mediaelement.js

我们的应用正在生成此标记:

<video id='player' width='512' preload='none' controls='controls'>
  <source src='http://unpredictablesite.com/notfound.mp4' type='video/mp4' />
  <source src='http://predictablesite.com/exists.mp4' type='video/mp4' />
</video>

我们正在使用MediaElement.js(版本2.10.0)并希望播放器首先尝试从unpredicatablesite.com播放源代码,然后如果找不到第一个,则从predicatablesite.com转到源代码。< / p>

有趣的是,单独使用HTML5视频标签时,滚动到下一个源似乎有效,但不能使用MediaElement.js。我们有什么选择才能让它发挥作用?播放器实例化时的错误:function(){}似乎没有触发源404错误,因此该计划不起作用。

1 个答案:

答案 0 :(得分:0)

您可以检查第一个来源的状态,如果是200(这实际上意味着服务器上存在该文件),您可以动态分配视频源。 如果视频不存在,则将视频分配给第二个源。

    var http = jQuery.ajax({
        type:"HEAD",
        url: $('source:first').attr('src'),
        async: false
      });


  var vidsrc;

  if ( http.status == 200 ) vidsrc = $('source:first').attr('src');
  else $('source:eq(1)').attr('src'); 


  var myvid = new MediaElementPlayer('#player', {
     translationSelector: true,
     success: function (mediaElement) {

        var sources = [{ src: vidsrc, type: 'video/mp3' }];

        mediaElement.setSrc(sources);
        mediaElement.pause();
        mediaElement.load(); }
     });