2012-04-02 12 views
0

mediaelementjsの実装に問題があります。私はビデオソースを変更するリンクのリストを持っている必要があります。問題は、リンクボタンをクリックする2度目のことです。私が再生ボタンをクリックするたびにdebbuggerが "this.pluginApi.pauseMediaは関数ではありません"と言っています。これはFirefoxのフラッシュフォールバックで起こります。 これは、ビデオを変更するには、私のコードです:私を助けてくださいMediaElementJs Firefoxのフラッシュフォールバック "this.pluginApi.pauseMediaは関数ではありません"

<div id="tutsVideoHolder" class="tuts_video_holder left">  
    <video width="512" height="384" id="player" poster="poster.jpg" controls="controls"> 
     <source src="video.mp4" type="video/mp4"/> 

     <track kind="subtitles" src="video_subs.vtt" srclang="en" /> 

     <object width="320" height="240" type="application/x-shockwave-flash" data="js/player_mejs/flashmediaelement.swf"> 
      <param name="movie" value="js/player_mejs/flashmediaelement.swf" /> 
      <param name="flashvars" value="controls=true&file=video.mp4" /> 

      <img src="poster.jpg" width="320" height="240" title="No video playback capabilities" /> 
     </object> 
    </video>   
</div> 

<script type="text/javascript"> 
var player = null; 
var videoCounter = 0; 
var videoSubsLang = 'es'; 


function loadVideo(videoSource){ 
    if(player != null){ 
     //player.pause(); 
    } 

    player = null; 

    if(typeof(videoSource)==='undefined') videoSource = ''; 

    var videoURL = 'video.mp4'; 

    $("#mep_"+videoCounter).remove(); 

    var htmlVideo = '<video width="512" height="384" src="'+videoURL+'" id="player" poster="video.jpg" controls="controls" preload="auto">'; 
    htmlVideo += '<track kind="subtitles" src="video_en.srt" srclang="en" />'; 
    htmlVideo += '<object width="512" height="384" type="application/x-shockwave-flash" data="js/player_mejs/flashmediaelement.swf">'; 
    htmlVideo += '<param name="movie" value="js/player_mejs/flashmediaelement.swf" />'; 
    htmlVideo += '<param name="flashvars" value="controls=true&file='+videoURL+'" />'; 
    htmlVideo += '</object>'; 
    htmlVideo += '</video>'; 

    $('#tutsVideoHolder').append(htmlVideo); 


    player = new MediaElementPlayer('#player', {startLanguage: videoSubsLang, features: ['playpause','progress','current','duration','tracks','volume','fullscreen'], translationSelector: false, 
     success: function (mediaElement) { 
      alert('success'); 
      // add event listener 
      mediaElement.addEventListener('pause', function(e) { 
       alert('pause'); 
      }, true); 

      mediaElement.addEventListener('pause', function(e) { 
       alert('pause'); 
      }, true); 

     } 
    }); 
    videoCounter++; 

} 

$(document).ready(function(){ 

    player = new MediaElementPlayer('#player', {startLanguage: 'en', features: ['playpause','progress','current','duration','tracks','volume','fullscreen'], translationSelector: false}); 

}); 

</script> 

は私のhtmlはこれです! :)

答えて

0

ビデオ要素またはその親要素を無効にしているため、srcを設定しようとすると、mediaplayerjs要素は無効になります。動画を隠すか表示する代わりに、代わりに動画要素またはその親のZインデックスを変更することをおすすめします。

関連する問題