diff --git a/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episodes.html b/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episodes.html index dd0f9b3bfbe5a08e22dbfe079a30ab388824dc94..c18dd120d03823e8730ce7ce73cc7bbb2afe6576 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episodes.html +++ b/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episodes.html @@ -76,7 +76,7 @@ <script type="text/javascript"> /* <![CDATA[ */ #if ($!helper.getMediaType($episode.getEnclosure()) == "video") - BPlayer.insertPlayer("$!helper.getMediaUrl($episode)","o_podcast_episode_$velocityCount",$!helper.getWidth($episode),$!helper.getHeight($episode),"video"); + BPlayer.insertPlayer("$!helper.getMediaUrl($episode)","o_podcast_episode_$velocityCount",$!helper.getWidth($episode),$!helper.getHeight($episode),false,null,"video"); #else BPlayer.insertPlayer("$!helper.getMediaUrl($episode)","o_podcast_episode_$velocityCount",400,24,"sound"); #end diff --git a/src/main/webapp/static/movie/player.js b/src/main/webapp/static/movie/player.js index 8c51658e566176695db59b53f37dbafb07f5eb34..d477ea43974425468b3f5e925cce73cfc37087c7 100644 --- a/src/main/webapp/static/movie/player.js +++ b/src/main/webapp/static/movie/player.js @@ -87,22 +87,34 @@ var BPlayer = { }); } } else { - jQuery('<link>') - .appendTo('head') - .attr({type : 'text/css', rel : 'stylesheet'}) - .attr('href', mediaElementBaseUrl + 'mediaelementplayer.min.css'); - - var realDomId; + if(jQuery('#mediaelementplayercss').length == 0) { + jQuery('<link>') + .appendTo('head') + .attr({id : 'mediaelementplayercss', type : 'text/css', rel : 'stylesheet'}) + .attr('href', mediaElementBaseUrl + 'mediaelementplayer.min.css'); + } + if(BPlayer.isIE8()) { jQuery('<script></script>') - .appendTo('head') - .attr({type : 'text/javascript'}) - .attr('src', mediaElementBaseUrl + 'mediaelement-and-player.min.js'); - BPlayer.insertHTML5MediaElementPlayerWorker(domId, args); + .appendTo('head') + .attr({ type : 'text/javascript'}) + .attr('src', mediaElementBaseUrl + 'mediaelement-and-player.min.js'); + setTimeout(function() { + BPlayer.insertHTML5MediaElementPlayerWorker(domId, args); + }, 700) } else { - jQuery.getScript(mediaElementBaseUrl + 'mediaelement-and-player.min.js', function() { + if(typeof jQuery('body').mediaelementplayer != 'undefined') { BPlayer.insertHTML5MediaElementPlayerWorker(domId, args); - }); + } else { + jQuery.ajax({ + dataType: 'script', + cache: true, + async: false,//prevent 2x load of the mediaelement.js which is deadly + url: mediaElementBaseUrl + 'mediaelement-and-player.min.js' + }).done(function() { + BPlayer.insertHTML5MediaElementPlayerWorker(domId, args); + }); + } } } }, @@ -125,6 +137,7 @@ var BPlayer = { flashName: 'flashmediaelement.swf', silverlightName: 'silverlightmediaelement.xap', loop: config.repeat, + pauseOtherPlayers: true, success: function(mediaElement, originalNode, player) { if(config.autostart) { try { @@ -202,11 +215,11 @@ var BPlayer = { if(config.width) { meConfig.audioWidth = config.width; } - content = "<audio id='" + domId + "_video' controls='controls' preload='none'>"; + content = "<audio id='" + domId + "_oovid' controls='controls' preload='none'>"; content += "<source type='" +mimeType + "' src='" + config.file + "' /></audio>"; } else { //controls are mandatory for Safari at least - content = "<video id='" + domId + "_video' controls='controls' preload='none'"; + content = "<video id='" + domId + "_oovid' controls='controls' preload='none'"; if(config.height) { content += " height='" + config.height + "'"; meConfig.videoHeight = config.height; @@ -222,7 +235,7 @@ var BPlayer = { } jQuery('#' + domId).html(content); - jQuery('#' + domId + '_video').mediaelementplayer(meConfig); + jQuery('#' + domId + '_oovid').mediaelementplayer(meConfig); }, mediaElementBaseUrl: function() {