2012-02-10 2 views
3

Доброе утро,Видеоплеер Media Element Js воспроизводится неправильно

Я стараюсь работать с медиаэлементом видеоплеера. Мой HTML:

<video id="player" width="758px" height="400px" controls="controls" autoplay preload="auto"> 
    <source type="video/flv" src="media/demo.flv" /> 
</video> 

Javascript:

var player = new MediaElementPlayer("#player",{ 
    success: function (mediaElement, domObject) { 

         // call the play method 
         mediaElement.play(); 

        } 
      }); 

я получаю эту ошибку:

Uncaught TypeError: Object #<HTMLEmbedElement> has no method 'pauseMedia' 
mejs.PluginMediaElement.pausemediaelement-and-player.min.js:28 
mejs.MediaElementPlayer.pausemediaelement-and-player.min.js:94 
mejs.MediaElementPlayer.meReadymediaelement-and-player.min.js:85 
mejs.PluginMediaElement.dispatchEventmediaelement-and-player.min.js:32 
mejs.MediaPluginBridge.fireEventmediaelement-and-player.min.js:34 
(anonymous function) 

Что случилось?

Вы можете мне помочь?

Кажется, это называют это:

pause: function() { 
    if (this.pluginApi != null) { 
     if (this.pluginType == 'youtube') { 
      this.pluginApi.pauseVideo(); 
     } else { 
      this.pluginApi.pauseMedia(); 
     }   


     this.paused = true; 
    } 
}, 

Update Стараюсь:

var player = new MediaElementPlayer("#player"); 
player.play(); 

Я не»получить ошибку, но это не играет.

+0

вы можете предоставить сценарий, где 'pauseMedia' находится в – mgraph

+0

паузы: функция() { \t \t если (это. pluginApi! = null) { \t \t \t if (this.pluginType == 'youtube') { \t \t \t \t это.pluginApi.pauseVideo(); \t \t \t} еще { \t \t \t \t this.pluginApi.pauseMedia(); \t \t \t} \t \t \t \t \t \t \t \t \t \t \t \t это.paused = true; \t \t} \t}, – paganotti

ответ

0

попробовать это:

var player = new MediaElementPlayer("#player"); 
player.play(); 

или это:

new MediaElement('player', { 
    success: function (mediaElement, domObject) { 

    },false); 
mediaElement.play(); 
}); 
+0

меня попробовать второй режим, который вы должны описать и я получаю эту ошибку: неперехваченным TypeError: Не удается прочитать свойство «тэгу» нулевых mejs.HtmlMediaElementShim.createmediaelement-и-player.js: 795 mejs.MediaElementmediaelement-and-player.js: 786 – paganotti

+0

add # 'new MediaElement ('# player', {' – mgraph

+0

Я попробовал var player = new MediaElementPlayer ("# player"); player.play(); 'получить ошибку, но она не воспроизводится. – paganotti

0

Что касается того, что я могу сказать от далеко я думаю, что MediaElementPlayer нужен mediaElement.pause();

Я нашел это из mediaElementjs.com:

<script> 
// JavaScript object for later use 
var player = new MediaElementPlayer('#player',/* Options */); 
// ... more code ... 
player.pause(); 
player.setSrc('mynewfile.mp4'); 
player.play(); 
</script> 

Может попытаться установить паузу(); и посмотреть, какие ошибки он дает.

1

I`m с помощью этого:

//Global player 
var Player = {}; 

    var videoDiv = document.getElementById('videoDiv'); 

    if(url.search("youtube") >= 0){ 
     videoDiv.innerHTML = '<video width="480" height="270" id="videoPlayer"><source type="video/youtube" src="'+url+'" /></video>'; 

    }else{ 
     videoDiv.innerHTML = '<video width="480" height="270" id="videoPlayer" src="'+url+'" />'; 

    } 

    $('video').mediaelementplayer({ 
     success: function(media, node, playerElement) { 

      Player = playerElement.media; 

      //console.log('mode: ' + media.pluginType); 

      Player.addEventListener("timeupdate", function(event) { 

       if(Player.paused) return; 

       Editor.setTime(Math.round(Player.currentTime)); 

      }); 
      Player.addEventListener("seeked", function(event) { 

       Editor.setTime(Math.round(Player.currentTime)); 

      }); 
      Player.addEventListener("progress", function(event) { 

       if(Player.paused) return; 

       console.log('currentTime '+Player.currentTime); 
       console.log('progress '+Player.buffered.length); 
       var count = Player.buffered.length; 
       for(i=0;i<count;i++){ 

        console.log('start ',Player.buffered.start(i),'end ',Player.buffered.end(i)); 

       } 

      }); 
      Player.addEventListener("load", function(event) { 

       console.log(event); 

      }); 
      Player.addEventListener("error", function(event) { 

       console.log(event); 

      }); 
      Player.addEventListener("playing", function(event) { 

       console.log(event); 

      }); 
      Player.addEventListener("canplay", function(event) { 

       console.log(event); 

      }); 
      Player.addEventListener("loadeddata", function(event) { 

       console.log(event); 

      }); 
     } 
    }); 


// You can access the Player obj outside the function scope, because it is global 
// But only after the player has been loaded! 

HTML:

<div id="videoDiv" style="width: 360px; height: 300px;" ></div>