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はこれです! :)