未捕获的TypeError:对象#<htmlvideoelement>没有方法'setSrc'</htmlvideoelement>

时间:2013-02-20 12:35:28

标签: mediaelement.js

我正在尝试加载javascript的视频,但导致错误......

守则:

<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>

错误:

未捕获TypeError:对象#没有方法'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();
        }
    });
});

1 个答案:

答案 0 :(得分: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();

         }

    });

});