2013-02-20 83 views
0

我试图加载对象的分析JavaScript的一个视频,但其造成的错误...遗漏的类型错误:对象#<HTMLVideoElement>有没有方法 'setSrc'

验证码:

<script src="mediaelement/build/mediaelement-and-player.min.js"></script> 
<link rel="stylesheet" href="mediaelement/build/mediaelementplayer.min.css" /> 
<video controls="controls" preload="none" id="dinamic-video"> 
</video> 
<script> 
    var player = new MediaElementPlayer('dinamic-video'); 
    $('#btn-play').click(function(){ 
     player.setSrc('mediaelement/media/teste-html5-MP4.mp4'); 
    }); 
</script> 

的错误:

遗漏的类型错误:对象#有没有方法“setSrc”

我怎么能运行它吧?


---编辑放置约Ricardus'答案更多的细节---

没有作品...

也不执行回调成功和不加载视频

var player; 
$(document).ready(function(){ 
    var player = new MediaElementPlayer('video', { 
     features: ['playpause', 'progress', 'duration', 'volume'], 
     success: function (mediaElement) { 
      console.log(mediaElement); 
      var sources =[{ src: "mediaelement/media/teste-html5-MP4.mp4" }]; 
      mediaElement.pause(); 
      mediaElement.setSrc(sources); 
      mediaElement.load(); 
     } 
    }); 
}); 

回答

0

发生这种情况是因为setSrc()不是真正的mediaelement对象的方法,除非您告诉javascript对象应包含所有mediaelement方法和属性。 您应该首先在document.ready()上动态创建mediaelement;只是为了确保。 这是一个示例:

var player; 

    $(document).ready(function() { 

    player = new MediaElementPlayer('#dinamic-video', { 
     features: ['playpause', 'progress', 'duration', 'volume'], 
     success: function (mediaElement) { 

    var sources = [{ src: "mediaelement/media/teste-html5-MP4.mp4" }]; 
     mediaElement.setSrc(sources); 
     mediaElement.pause(); 
     mediaElement.load(); 

     } 

    }); 

}); 
+0

Hi.Thanks for your help。我尝试你的代码,但不起作用。 我使用上述结果编辑了我的帖子 – 2013-02-20 13:21:35

+0

以下是官方mediaelement问题论坛的相关主题:https://github.com/johndyer/mediaelement/issues/295。你可以试试这个,并告诉你是否成功。 – Ricardus 2013-02-20 13:42:24

+0

嗨Ricardus,感谢您的链接...现在正常工作...我按照说明那里和voilá! 现在我需要解决的唯一问题是支持FLV视频 – 2013-02-20 16:28:11

相关问题