0

我正在尝试加载带有 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>

错误:

未捕获的类型错误:对象 # 没有方法 '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();
        }
    });
});
4

1 回答 1

0

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

 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();

         }

    });

});
于 2013-02-20T12:58:22.620 回答