From b340e0a6c8564be5ec7cb317db91c7d926cbd13b Mon Sep 17 00:00:00 2001 From: Mark Jaquith Date: Thu, 11 Apr 2013 22:13:44 +0000 Subject: [PATCH] Update MediaElement.js to 2.11.1 Also get rid of its non-minified JS/CSS files. props wonderboymusic, ocean90. fixes #24015. git-svn-id: https://develop.svn.wordpress.org/trunk@23968 602fd350-edb4-49c9-b593-d223f7449a82 --- .../js/mediaelement/flashmediaelement.swf | Bin 27833 -> 28269 bytes .../mediaelement/mediaelement-and-player.js | 5030 +---------------- .../mediaelement-and-player.min.js | 86 - .../js/mediaelement/mediaelementplayer.css | 851 +-- .../mediaelement/mediaelementplayer.min.css | 1 - wp-includes/script-loader.php | 4 +- 6 files changed, 146 insertions(+), 5826 deletions(-) delete mode 100644 wp-includes/js/mediaelement/mediaelement-and-player.min.js delete mode 100644 wp-includes/js/mediaelement/mediaelementplayer.min.css diff --git a/wp-includes/js/mediaelement/flashmediaelement.swf b/wp-includes/js/mediaelement/flashmediaelement.swf index b728fe6d8f9ebda7a2c1d7ce04e6548921421da1..33c8d98f50fca33fcb17d8a6f349907b1f46d4b5 100644 GIT binary patch literal 28269 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

&%gLp_o^Iujl|IM7v~6dX`$r5>z8 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 diff --git a/wp-includes/js/mediaelement/mediaelement-and-player.js b/wp-includes/js/mediaelement/mediaelement-and-player.js index bb49d6094a..048c8f0dea 100644 --- a/wp-includes/js/mediaelement/mediaelement-and-player.js +++ b/wp-includes/js/mediaelement/mediaelement-and-player.js @@ -10,1808 +10,59 @@ * Copyright 2010-2012, John Dyer (http://j.hn) * License: MIT * -*/ -// Namespace -var mejs = mejs || {}; - -// version number -mejs.version = '2.11.0'; - -// player number (for missing, same id attr) -mejs.meIndex = 0; - -// media types accepted by plugins -mejs.plugins = { - silverlight: [ - {version: [3,0], types: ['video/mp4','video/m4v','video/mov','video/wmv','audio/wma','audio/m4a','audio/mp3','audio/wav','audio/mpeg']} - ], - flash: [ - {version: [9,0,124], types: ['video/mp4','video/m4v','video/mov','video/flv','video/rtmp','video/x-flv','audio/flv','audio/x-flv','audio/mp3','audio/m4a','audio/mpeg', 'video/youtube', 'video/x-youtube']} - //,{version: [12,0], types: ['video/webm']} // for future reference (hopefully!) - ], - youtube: [ - {version: null, types: ['video/youtube', 'video/x-youtube', 'audio/youtube', 'audio/x-youtube']} - ], - vimeo: [ - {version: null, types: ['video/vimeo', 'video/x-vimeo']} - ] -}; - - -/* -Utility methods -*/ -mejs.Utility = { - encodeUrl: function(url) { - return encodeURIComponent(url); //.replace(/\?/gi,'%3F').replace(/=/gi,'%3D').replace(/&/gi,'%26'); - }, - escapeHTML: function(s) { - return s.toString().split('&').join('&').split('<').join('<').split('"').join('"'); - }, - absolutizeUrl: function(url) { - var el = document.createElement('div'); - el.innerHTML = 'x'; - return el.firstChild.href; - }, - getScriptPath: function(scriptNames) { - var - i = 0, - j, - path = '', - name = '', - script, - scripts = document.getElementsByTagName('script'), - il = scripts.length, - jl = scriptNames.length; - - for (; i < il; i++) { - script = scripts[i].src; - for (j = 0; j < jl; j++) { - name = scriptNames[j]; - if (script.indexOf(name) > -1) { - path = script.substring(0, script.indexOf(name)); - break; - } - } - if (path !== '') { - break; - } - } - return path; - }, - secondsToTimeCode: function(time, forceHours, showFrameCount, fps) { - //add framecount - if (typeof showFrameCount == 'undefined') { - showFrameCount=false; - } else if(typeof fps == 'undefined') { - fps = 25; - } - - var hours = Math.floor(time / 3600) % 24, - minutes = Math.floor(time / 60) % 60, - seconds = Math.floor(time % 60), - frames = Math.floor(((time % 1)*fps).toFixed(3)), - result = - ( (forceHours || hours > 0) ? (hours < 10 ? '0' + hours : hours) + ':' : '') - + (minutes < 10 ? '0' + minutes : minutes) + ':' - + (seconds < 10 ? '0' + seconds : seconds) - + ((showFrameCount) ? ':' + (frames < 10 ? '0' + frames : frames) : ''); - - return result; - }, - - timeCodeToSeconds: function(hh_mm_ss_ff, forceHours, showFrameCount, fps){ - if (typeof showFrameCount == 'undefined') { - showFrameCount=false; - } else if(typeof fps == 'undefined') { - fps = 25; - } - - var tc_array = hh_mm_ss_ff.split(":"), - tc_hh = parseInt(tc_array[0], 10), - tc_mm = parseInt(tc_array[1], 10), - tc_ss = parseInt(tc_array[2], 10), - tc_ff = 0, - tc_in_seconds = 0; - - if (showFrameCount) { - tc_ff = parseInt(tc_array[3])/fps; - } - - tc_in_seconds = ( tc_hh * 3600 ) + ( tc_mm * 60 ) + tc_ss + tc_ff; - - return tc_in_seconds; - }, - - - convertSMPTEtoSeconds: function (SMPTE) { - if (typeof SMPTE != 'string') - return false; - - SMPTE = SMPTE.replace(',', '.'); - - var secs = 0, - decimalLen = (SMPTE.indexOf('.') != -1) ? SMPTE.split('.')[1].length : 0, - multiplier = 1; - - SMPTE = SMPTE.split(':').reverse(); - - for (var i = 0; i < SMPTE.length; i++) { - multiplier = 1; - if (i > 0) { - multiplier = Math.pow(60, i); - } - secs += Number(SMPTE[i]) * multiplier; - } - return Number(secs.toFixed(decimalLen)); - }, - - /* borrowed from SWFObject: http://code.google.com/p/swfobject/source/browse/trunk/swfobject/src/swfobject.js#474 */ - removeSwf: function(id) { - var obj = document.getElementById(id); - if (obj && /object|embed/i.test(obj.nodeName)) { - if (mejs.MediaFeatures.isIE) { - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - mejs.Utility.removeObjectInIE(id); - } else { - setTimeout(arguments.callee, 10); - } - })(); - } else { - obj.parentNode.removeChild(obj); - } - } - }, - removeObjectInIE: function(id) { - var obj = document.getElementById(id); - if (obj) { - for (var i in obj) { - if (typeof obj[i] == "function") { - obj[i] = null; - } - } - obj.parentNode.removeChild(obj); - } - } -}; - - -// Core detector, plugins are added below -mejs.PluginDetector = { - - // main public function to test a plug version number PluginDetector.hasPluginVersion('flash',[9,0,125]); - hasPluginVersion: function(plugin, v) { - var pv = this.plugins[plugin]; - v[1] = v[1] || 0; - v[2] = v[2] || 0; - return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; - }, - - // cached values - nav: window.navigator, - ua: window.navigator.userAgent.toLowerCase(), - - // stored version numbers - plugins: [], - - // runs detectPlugin() and stores the version number - addPlugin: function(p, pluginName, mimeType, activeX, axDetect) { - this.plugins[p] = this.detectPlugin(pluginName, mimeType, activeX, axDetect); - }, - - // get the version number from the mimetype (all but IE) or ActiveX (IE) - detectPlugin: function(pluginName, mimeType, activeX, axDetect) { - - var version = [0,0,0], - description, - i, - ax; - - // Firefox, Webkit, Opera - if (typeof(this.nav.plugins) != 'undefined' && typeof this.nav.plugins[pluginName] == 'object') { - description = this.nav.plugins[pluginName].description; - if (description && !(typeof this.nav.mimeTypes != 'undefined' && this.nav.mimeTypes[mimeType] && !this.nav.mimeTypes[mimeType].enabledPlugin)) { - version = description.replace(pluginName, '').replace(/^\s+/,'').replace(/\sr/gi,'.').split('.'); - for (i=0; i element for fullscreen detection - for (i=0; i or

tag (sometimes WYSIWYG editors do this) - node = htmlMediaElement.parentNode; - while (node !== null && node.tagName.toLowerCase() != 'body') { - if (node.parentNode.tagName.toLowerCase() == 'p') { - node.parentNode.parentNode.insertBefore(node, node.parentNode); - break; - } - node = node.parentNode; - } - - if (playback.isVideo) { - width = (options.videoWidth > 0) ? options.videoWidth : (htmlMediaElement.getAttribute('width') !== null) ? htmlMediaElement.getAttribute('width') : options.defaultVideoWidth; - height = (options.videoHeight > 0) ? options.videoHeight : (htmlMediaElement.getAttribute('height') !== null) ? htmlMediaElement.getAttribute('height') : options.defaultVideoHeight; - - // in case of '%' make sure it's encoded - width = mejs.Utility.encodeUrl(width); - height = mejs.Utility.encodeUrl(height); - - } else { - if (options.enablePluginDebug) { - width = 320; - height = 240; - } - } - - // register plugin - pluginMediaElement.success = options.success; - mejs.MediaPluginBridge.registerPluginElement(pluginid, pluginMediaElement, htmlMediaElement); - - // add container (must be added to DOM before inserting HTML for IE) - container.className = 'me-plugin'; - container.id = pluginid + '_container'; - - if (playback.isVideo) { - htmlMediaElement.parentNode.insertBefore(container, htmlMediaElement); - } else { - document.body.insertBefore(container, document.body.childNodes[0]); - } - - // flash/silverlight vars - initVars = [ - 'id=' + pluginid, - 'isvideo=' + ((playback.isVideo) ? "true" : "false"), - 'autoplay=' + ((autoplay) ? "true" : "false"), - 'preload=' + preload, - 'width=' + width, - 'startvolume=' + options.startVolume, - 'timerrate=' + options.timerRate, - 'flashstreamer=' + options.flashStreamer, - 'height=' + height]; - - if (playback.url !== null) { - if (playback.method == 'flash') { - initVars.push('file=' + mejs.Utility.encodeUrl(playback.url)); - } else { - initVars.push('file=' + playback.url); - } - } - if (options.enablePluginDebug) { - initVars.push('debug=true'); - } - if (options.enablePluginSmoothing) { - initVars.push('smoothing=true'); - } - if (controls) { - initVars.push('controls=true'); // shows controls in the plugin if desired - } - if (options.pluginVars) { - initVars = initVars.concat(options.pluginVars); - } - - switch (playback.method) { - case 'silverlight': - container.innerHTML = -'' + -'' + -'' + -'' + -'' + -'' + -'' + -''; - break; - - case 'flash': - - if (mejs.MediaFeatures.isIE) { - specialIEContainer = document.createElement('div'); - container.appendChild(specialIEContainer); - specialIEContainer.outerHTML = -'' + -'' + -'' + -'' + -'' + -'' + -'' + -'' + -''; - - } else { - - container.innerHTML = -''; - } - break; - - case 'youtube': - - - var - videoId = playback.url.substr(playback.url.lastIndexOf('=')+1); - youtubeSettings = { - container: container, - containerId: container.id, - pluginMediaElement: pluginMediaElement, - pluginId: pluginid, - videoId: videoId, - height: height, - width: width - }; - - if (mejs.PluginDetector.hasPluginVersion('flash', [10,0,0]) ) { - mejs.YouTubeApi.createFlash(youtubeSettings); - } else { - mejs.YouTubeApi.enqueueIframe(youtubeSettings); - } - - break; - - // DEMO Code. Does NOT work. - case 'vimeo': - //console.log('vimeoid'); - - pluginMediaElement.vimeoid = playback.url.substr(playback.url.lastIndexOf('/')+1); - - container.innerHTML =''; - - /* - container.innerHTML = - '' + - '' + - '' + - '' + - '' + - '' + - ''; - */ - - break; - } - // hide original element - htmlMediaElement.style.display = 'none'; - - // FYI: options.success will be fired by the MediaPluginBridge - - return pluginMediaElement; - }, - - updateNative: function(playback, options, autoplay, preload) { - - var htmlMediaElement = playback.htmlMediaElement, - m; - - - // add methods to video object to bring it into parity with Flash Object - for (m in mejs.HtmlMediaElement) { - htmlMediaElement[m] = mejs.HtmlMediaElement[m]; - } - - /* - Chrome now supports preload="none" - if (mejs.MediaFeatures.isChrome) { - - // special case to enforce preload attribute (Chrome doesn't respect this) - if (preload === 'none' && !autoplay) { - - // forces the browser to stop loading (note: fails in IE9) - htmlMediaElement.src = ''; - htmlMediaElement.load(); - htmlMediaElement.canceledPreload = true; - - htmlMediaElement.addEventListener('play',function() { - if (htmlMediaElement.canceledPreload) { - htmlMediaElement.src = playback.url; - htmlMediaElement.load(); - htmlMediaElement.play(); - htmlMediaElement.canceledPreload = false; - } - }, false); - // for some reason Chrome forgets how to autoplay sometimes. - } else if (autoplay) { - htmlMediaElement.load(); - htmlMediaElement.play(); - } - } - */ - - // fire success code - options.success(htmlMediaElement, htmlMediaElement); - - return htmlMediaElement; - } -}; - -/* - - test on IE (object vs. embed) - - determine when to use iframe (Firefox, Safari, Mobile) vs. Flash (Chrome, IE) - - fullscreen? -*/ - -// YouTube Flash and Iframe API -mejs.YouTubeApi = { - isIframeStarted: false, - isIframeLoaded: false, - loadIframeApi: function() { - if (!this.isIframeStarted) { - var tag = document.createElement('script'); - tag.src = "http://www.youtube.com/player_api"; - var firstScriptTag = document.getElementsByTagName('script')[0]; - firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); - this.isIframeStarted = true; - } - }, - iframeQueue: [], - enqueueIframe: function(yt) { - - if (this.isLoaded) { - this.createIframe(yt); - } else { - this.loadIframeApi(); - this.iframeQueue.push(yt); - } - }, - createIframe: function(settings) { - - var - pluginMediaElement = settings.pluginMediaElement, - player = new YT.Player(settings.containerId, { - height: settings.height, - width: settings.width, - videoId: settings.videoId, - playerVars: {controls:0}, - events: { - 'onReady': function() { - - // hook up iframe object to MEjs - settings.pluginMediaElement.pluginApi = player; - - // init mejs - mejs.MediaPluginBridge.initPlugin(settings.pluginId); - - // create timer - setInterval(function() { - mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'timeupdate'); - }, 250); - }, - 'onStateChange': function(e) { - - mejs.YouTubeApi.handleStateChange(e.data, player, pluginMediaElement); - - } - } - }); - }, - - createEvent: function (player, pluginMediaElement, eventName) { - var obj = { - type: eventName, - target: pluginMediaElement - }; - - if (player && player.getDuration) { - - // time - pluginMediaElement.currentTime = obj.currentTime = player.getCurrentTime(); - pluginMediaElement.duration = obj.duration = player.getDuration(); - - // state - obj.paused = pluginMediaElement.paused; - obj.ended = pluginMediaElement.ended; - - // sound - obj.muted = player.isMuted(); - obj.volume = player.getVolume() / 100; - - // progress - obj.bytesTotal = player.getVideoBytesTotal(); - obj.bufferedBytes = player.getVideoBytesLoaded(); - - // fake the W3C buffered TimeRange - var bufferedTime = obj.bufferedBytes / obj.bytesTotal * obj.duration; - - obj.target.buffered = obj.buffered = { - start: function(index) { - return 0; - }, - end: function (index) { - return bufferedTime; - }, - length: 1 - }; - - } - - // send event up the chain - pluginMediaElement.dispatchEvent(obj.type, obj); - }, - - iFrameReady: function() { - - this.isLoaded = true; - this.isIframeLoaded = true; - - while (this.iframeQueue.length > 0) { - var settings = this.iframeQueue.pop(); - this.createIframe(settings); - } - }, - - // FLASH! - flashPlayers: {}, - createFlash: function(settings) { - - this.flashPlayers[settings.pluginId] = settings; - - /* - settings.container.innerHTML = - '' + - '' + - '' + - ''; - */ - - var specialIEContainer, - youtubeUrl = 'http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=' + settings.pluginId + '&version=3&autoplay=0&controls=0&modestbranding=1&loop=0'; - - if (mejs.MediaFeatures.isIE) { - - specialIEContainer = document.createElement('div'); - settings.container.appendChild(specialIEContainer); - specialIEContainer.outerHTML = '' + - '' + - '' + - '' + - '' + -''; - } else { - settings.container.innerHTML = - '' + - '' + - '' + - ''; - } - - }, - - flashReady: function(id) { - var - settings = this.flashPlayers[id], - player = document.getElementById(id), - pluginMediaElement = settings.pluginMediaElement; - - // hook up and return to MediaELementPlayer.success - pluginMediaElement.pluginApi = - pluginMediaElement.pluginElement = player; - mejs.MediaPluginBridge.initPlugin(id); - - // load the youtube video - player.cueVideoById(settings.videoId); - - var callbackName = settings.containerId + '_callback'; - - window[callbackName] = function(e) { - mejs.YouTubeApi.handleStateChange(e, player, pluginMediaElement); - } - - player.addEventListener('onStateChange', callbackName); - - setInterval(function() { - mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'timeupdate'); - }, 250); - }, - - handleStateChange: function(youTubeState, player, pluginMediaElement) { - switch (youTubeState) { - case -1: // not started - pluginMediaElement.paused = true; - pluginMediaElement.ended = true; - mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'loadedmetadata'); - //createYouTubeEvent(player, pluginMediaElement, 'loadeddata'); - break; - case 0: - pluginMediaElement.paused = false; - pluginMediaElement.ended = true; - mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'ended'); - break; - case 1: - pluginMediaElement.paused = false; - pluginMediaElement.ended = false; - mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'play'); - mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'playing'); - break; - case 2: - pluginMediaElement.paused = true; - pluginMediaElement.ended = false; - mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'pause'); - break; - case 3: // buffering - mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'progress'); - break; - case 5: - // cued? - break; - - } - - } -} -// IFRAME -function onYouTubePlayerAPIReady() { - mejs.YouTubeApi.iFrameReady(); -} -// FLASH -function onYouTubePlayerReady(id) { - mejs.YouTubeApi.flashReady(id); -} - -window.mejs = mejs; -window.MediaElement = mejs.MediaElement; - -/*! - * Adds Internationalization and localization to objects. - * - * What is the concept beyond i18n? - * http://en.wikipedia.org/wiki/Internationalization_and_localization - * - * - * This file both i18n methods and locale which is used to translate - * strings into other languages. - * - * Default translations are not available, you have to add them - * through locale objects which are named exactly as the langcode - * they stand for. The default language is always english (en). - * - * - * Wrapper built to be able to attach the i18n object to - * other objects without changing more than one line. - * - * - * LICENSE: - * - * The i18n file uses methods from the Drupal project (drupal.js): - * - i18n.methods.t() (modified) - * - i18n.methods.checkPlain() (full copy) - * - i18n.methods.formatString() (full copy) - * - * The Drupal project is (like mediaelementjs) licensed under GPLv2. - * - http://drupal.org/licensing/faq/#q1 - * - https://github.com/johndyer/mediaelement - * - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - * - * - * @author - * Tim Latz (latz.tim@gmail.com) - * - * @see - * me-i18n-locale.js - * - * @params - * - $ - zepto || jQuery .. - * - context - document, iframe .. - * - exports - CommonJS, window .. - * - */ -;(function($, context, exports, undefined) { - "use strict"; - var i18n = { - "locale": { - "strings" : {} - }, - "methods" : {} - }; -// start i18n - - - /** - * Get the current browser's language - * - * @see: i18n.methods.t() - */ - i18n.locale.getLanguage = function () { - return { - "language" : navigator.language - }; - }; - - /** - * Store the language the locale object was initialized with - */ - i18n.locale.INIT_LANGUAGE = i18n.locale.getLanguage(); - - - /** - * Encode special characters in a plain-text string for display as HTML. - */ - i18n.methods.checkPlain = function (str) { - var character, regex, - replace = { - '&': '&', - '"': '"', - '<': '<', - '>': '>' - }; - str = String(str); - for (character in replace) { - if (replace.hasOwnProperty(character)) { - regex = new RegExp(character, 'g'); - str = str.replace(regex, replace[character]); - } - } - return str; - }; - - /** - * Replace placeholders with sanitized values in a string. - * - * @param str - * A string with placeholders. - * @param args - * An object of replacements pairs to make. Incidences of any key in this - * array are replaced with the corresponding value. Based on the first - * character of the key, the value is escaped and/or themed: - * - !variable: inserted as is - * - @variable: escape plain text to HTML (i18n.methods.checkPlain) - * - %variable: escape text and theme as a placeholder for user-submitted - * content (checkPlain + ) - * - * @see i18n.methods.t() - */ - i18n.methods.formatString = function(str, args) { - // Transform arguments before inserting them. - for (var key in args) { - switch (key.charAt(0)) { - // Escaped only. - case '@': - args[key] = i18n.methods.checkPlain(args[key]); - break; - // Pass-through. - case '!': - break; - // Escaped and placeholder. - case '%': - default: - args[key] = '' + i18n.methods.checkPlain(args[key]) + ''; - break; - } - str = str.replace(key, args[key]); - } - return str; - }; - - /** - * Translate strings to the page language or a given language. - * - * See the documentation of the server-side t() function for further details. - * - * @param str - * A string containing the English string to translate. - * @param args - * An object of replacements pairs to make after translation. Incidences - * of any key in this array are replaced with the corresponding value. - * See i18n.methods.formatString(). - * - * @param options - * - 'context' (defaults to the default context): The context the source string - * belongs to. - * - * @return - * The translated string. - */ - i18n.methods.t = function (str, args, options) { - - // Fetch the localized version of the string. - if (i18n.locale.strings && i18n.locale.strings[options.context] && i18n.locale.strings[options.context][str]) { - str = i18n.locale.strings[options.context][str]; - } - - if (args) { - str = i18n.methods.formatString(str, args); - } - return str; - }; - - - /** - * Wrapper for i18n.methods.t() - * - * @see i18n.methods.t() - * @throws InvalidArgumentException - */ - i18n.t = function(str, args, options) { - - if (typeof str === 'string' && str.length > 0) { - - // check every time due languge can change for - // different reasons (translation, lang switcher ..) - var lang = i18n.locale.getLanguage(); - - options = options || { - "context" : lang.language - }; - - return i18n.methods.t(str, args, options); - } - else { - throw { - "name" : 'InvalidArgumentException', - "message" : 'First argument is either not a string or empty.' - } - } - }; - -// end i18n - exports.i18n = i18n; -}(jQuery, document, mejs)); -/*! - * This is a i18n.locale language object. - * - * German translation by Tim Latz, latz.tim@gmail.com - * - * @author - * Tim Latz (latz.tim@gmail.com) - * - * @see - * me-i18n.js - * - * @params - * - exports - CommonJS, window .. - */ -;(function(exports, undefined) { - - "use strict"; - - exports.de = { - "Fullscreen" : "Vollbild", - "Go Fullscreen" : "Vollbild an", - "Turn off Fullscreen" : "Vollbild aus", - "Close" : "Schließen" - }; - -}(mejs.i18n.locale.strings)); +*/var mejs=mejs||{};mejs.version="2.11.1";mejs.meIndex=0; +mejs.plugins={silverlight:[{version:[3,0],types:["video/mp4","video/m4v","video/mov","video/wmv","audio/wma","audio/m4a","audio/mp3","audio/wav","audio/mpeg"]}],flash:[{version:[9,0,124],types:["video/mp4","video/m4v","video/mov","video/flv","video/rtmp","video/x-flv","audio/flv","audio/x-flv","audio/mp3","audio/m4a","audio/mpeg","video/youtube","video/x-youtube"]}],youtube:[{version:null,types:["video/youtube","video/x-youtube","audio/youtube","audio/x-youtube"]}],vimeo:[{version:null,types:["video/vimeo", +"video/x-vimeo"]}]}; +mejs.Utility={encodeUrl:function(a){return encodeURIComponent(a)},escapeHTML:function(a){return a.toString().split("&").join("&").split("<").join("<").split('"').join(""")},absolutizeUrl:function(a){var b=document.createElement("div");b.innerHTML='x';return b.firstChild.href},getScriptPath:function(a){for(var b=0,c,d="",e="",g,f,h=document.getElementsByTagName("script"),l=h.length,j=a.length;b-1&&g==f.length-e.length){d=f.substring(0,g);break}}if(d!=="")break}return d},secondsToTimeCode:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d=="undefined")d=25;var e=Math.floor(a/3600)%24,g=Math.floor(a/60)%60,f=Math.floor(a%60);a=Math.floor((a%1*d).toFixed(3));return(b||e>0?(e<10?"0"+e:e)+":":"")+(g<10?"0"+g:g)+":"+(f<10?"0"+f:f)+(c?":"+(a<10?"0"+a:a):"")},timeCodeToSeconds:function(a,b,c,d){if(typeof c=="undefined")c=false;else if(typeof d=="undefined")d=25;a=a.split(":"); +b=parseInt(a[0],10);var e=parseInt(a[1],10),g=parseInt(a[2],10),f=0,h=0;if(c)f=parseInt(a[3])/d;return h=b*3600+e*60+g+f},convertSMPTEtoSeconds:function(a){if(typeof a!="string")return false;a=a.replace(",",".");var b=0,c=a.indexOf(".")!=-1?a.split(".")[1].length:0,d=1;a=a.split(":").reverse();for(var e=0;e0)d=Math.pow(60,e);b+=Number(a[e])*d}return Number(b.toFixed(c))},removeSwf:function(a){var b=document.getElementById(a);if(b&&/object|embed/i.test(b.nodeName))if(mejs.MediaFeatures.isIE){b.style.display= +"none";(function(){b.readyState==4?mejs.Utility.removeObjectInIE(a):setTimeout(arguments.callee,10)})()}else b.parentNode.removeChild(b)},removeObjectInIE:function(a){if(a=document.getElementById(a)){for(var b in a)if(typeof a[b]=="function")a[b]=null;a.parentNode.removeChild(a)}}}; +mejs.PluginDetector={hasPluginVersion:function(a,b){var c=this.plugins[a];b[1]=b[1]||0;b[2]=b[2]||0;return c[0]>b[0]||c[0]==b[0]&&c[1]>b[1]||c[0]==b[0]&&c[1]==b[1]&&c[2]>=b[2]?true:false},nav:window.navigator,ua:window.navigator.userAgent.toLowerCase(),plugins:[],addPlugin:function(a,b,c,d,e){this.plugins[a]=this.detectPlugin(b,c,d,e)},detectPlugin:function(a,b,c,d){var e=[0,0,0],g;if(typeof this.nav.plugins!="undefined"&&typeof this.nav.plugins[a]=="object"){if((c=this.nav.plugins[a].description)&& +!(typeof this.nav.mimeTypes!="undefined"&&this.nav.mimeTypes[b]&&!this.nav.mimeTypes[b].enabledPlugin)){e=c.replace(a,"").replace(/^\s+/,"").replace(/\sr/gi,".").split(".");for(a=0;a0;)this.removeChild(b[0]);if(typeof a=="string")this.src=a;else{var c;for(b=0;b0&&g[0].url!==null&&this.getTypeFromFile(g[0].url).indexOf("audio")>-1)j.isVideo=false;if(mejs.MediaFeatures.isBustedAndroid)a.canPlayType=function(m){return m.match(/video\/(mp4|m4v)/gi)!==null?"maybe":""};if(c&&(b.mode==="auto"||b.mode==="auto_plugin"||b.mode==="native")){if(!d){f=document.createElement(j.isVideo? +"video":"audio");a.parentNode.insertBefore(f,a);a.style.display="none";j.htmlMediaElement=a=f}for(f=0;f0)j.url=g[0].url;return j},formatType:function(a,b){return a&&!b?this.getTypeFromFile(a):b&&~b.indexOf(";")?b.substr(0,b.indexOf(";")):b},getTypeFromFile:function(a){a=a.split("?")[0];a=a.substring(a.lastIndexOf(".")+ +1).toLowerCase();return(/(mp4|m4v|ogg|ogv|webm|webmv|flv|wmv|mpeg|mov)/gi.test(a)?"video":"audio")+"/"+this.getTypeFromExtension(a)},getTypeFromExtension:function(a){switch(a){case "mp4":case "m4v":return"mp4";case "webm":case "webma":case "webmv":return"webm";case "ogg":case "oga":case "ogv":return"ogg";default:return a}},createErrorMessage:function(a,b,c){var d=a.htmlMediaElement,e=document.createElement("div");e.className="me-cannotplay";try{e.style.width=d.width+"px";e.style.height=d.height+"px"}catch(g){}e.innerHTML= +c!==""?'':''+mejs.i18n.t("Download File")+"";d.parentNode.insertBefore(e,d);d.style.display="none";b.error(d)},createPlugin:function(a,b,c,d,e,g){c=a.htmlMediaElement;var f=1,h=1,l="me_"+a.method+"_"+mejs.meIndex++,j=new mejs.PluginMediaElement(l,a.method,a.url),k=document.createElement("div"),m;j.tagName=c.tagName;for(m=0;m0?b.videoWidth:c.getAttribute("width")!==null?c.getAttribute("width"):b.defaultVideoWidth;h=b.videoHeight>0?b.videoHeight:c.getAttribute("height")!==null?c.getAttribute("height"):b.defaultVideoHeight;f=mejs.Utility.encodeUrl(f);h=mejs.Utility.encodeUrl(h)}else if(b.enablePluginDebug){f= +320;h=240}j.success=b.success;mejs.MediaPluginBridge.registerPluginElement(l,j,c);k.className="me-plugin";k.id=l+"_container";a.isVideo?c.parentNode.insertBefore(k,c):document.body.insertBefore(k,document.body.childNodes[0]);d=["id="+l,"isvideo="+(a.isVideo?"true":"false"),"autoplay="+(d?"true":"false"),"preload="+e,"width="+f,"startvolume="+b.startVolume,"timerrate="+b.timerRate,"flashstreamer="+b.flashStreamer,"height="+h,"pseudostreamstart="+b.pseudoStreamingStartQueryParam];if(a.url!==null)a.method== +"flash"?d.push("file="+mejs.Utility.encodeUrl(a.url)):d.push("file="+a.url);b.enablePluginDebug&&d.push("debug=true");b.enablePluginSmoothing&&d.push("smoothing=true");b.enablePseudoStreaming&&d.push("pseudostreaming=true");g&&d.push("controls=true");if(b.pluginVars)d=d.concat(b.pluginVars);switch(a.method){case "silverlight":k.innerHTML='';break;case "flash":if(mejs.MediaFeatures.isIE){a=document.createElement("div");k.appendChild(a);a.outerHTML=''}else k.innerHTML='';break;case "youtube":b=a.url.substr(a.url.lastIndexOf("=")+1);youtubeSettings={container:k,containerId:k.id,pluginMediaElement:j,pluginId:l,videoId:b,height:h,width:f};mejs.PluginDetector.hasPluginVersion("flash",[10,0,0])?mejs.YouTubeApi.createFlash(youtubeSettings):mejs.YouTubeApi.enqueueIframe(youtubeSettings);break;case "vimeo":j.vimeoid=a.url.substr(a.url.lastIndexOf("/")+1);k.innerHTML= +''}c.style.display="none";return j},updateNative:function(a,b){var c=a.htmlMediaElement,d;for(d in mejs.HtmlMediaElement)c[d]=mejs.HtmlMediaElement[d];b.success(c,c);return c}}; +mejs.YouTubeApi={isIframeStarted:false,isIframeLoaded:false,loadIframeApi:function(){if(!this.isIframeStarted){var a=document.createElement("script");a.src="http://www.youtube.com/player_api";var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b);this.isIframeStarted=true}},iframeQueue:[],enqueueIframe:function(a){if(this.isLoaded)this.createIframe(a);else{this.loadIframeApi();this.iframeQueue.push(a)}},createIframe:function(a){var b=a.pluginMediaElement,c=new YT.Player(a.containerId, +{height:a.height,width:a.width,videoId:a.videoId,playerVars:{controls:0},events:{onReady:function(){a.pluginMediaElement.pluginApi=c;mejs.MediaPluginBridge.initPlugin(a.pluginId);setInterval(function(){mejs.YouTubeApi.createEvent(c,b,"timeupdate")},250)},onStateChange:function(d){mejs.YouTubeApi.handleStateChange(d.data,c,b)}}})},createEvent:function(a,b,c){c={type:c,target:b};if(a&&a.getDuration){b.currentTime=c.currentTime=a.getCurrentTime();b.duration=c.duration=a.getDuration();c.paused=b.paused; +c.ended=b.ended;c.muted=a.isMuted();c.volume=a.getVolume()/100;c.bytesTotal=a.getVideoBytesTotal();c.bufferedBytes=a.getVideoBytesLoaded();var d=c.bufferedBytes/c.bytesTotal*c.duration;c.target.buffered=c.buffered={start:function(){return 0},end:function(){return d},length:1}}b.dispatchEvent(c.type,c)},iFrameReady:function(){for(this.isIframeLoaded=this.isLoaded=true;this.iframeQueue.length>0;)this.createIframe(this.iframeQueue.pop())},flashPlayers:{},createFlash:function(a){this.flashPlayers[a.pluginId]= +a;var b,c="http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid="+a.pluginId+"&version=3&autoplay=0&controls=0&modestbranding=1&loop=0";if(mejs.MediaFeatures.isIE){b=document.createElement("div");a.container.appendChild(b);b.outerHTML=''}else a.container.innerHTML=''},flashReady:function(a){var b=this.flashPlayers[a],c= +document.getElementById(a),d=b.pluginMediaElement;d.pluginApi=d.pluginElement=c;mejs.MediaPluginBridge.initPlugin(a);c.cueVideoById(b.videoId);a=b.containerId+"_callback";window[a]=function(e){mejs.YouTubeApi.handleStateChange(e,c,d)};c.addEventListener("onStateChange",a);setInterval(function(){mejs.YouTubeApi.createEvent(c,d,"timeupdate")},250)},handleStateChange:function(a,b,c){switch(a){case -1:c.paused=true;c.ended=true;mejs.YouTubeApi.createEvent(b,c,"loadedmetadata");break;case 0:c.paused=false; +c.ended=true;mejs.YouTubeApi.createEvent(b,c,"ended");break;case 1:c.paused=false;c.ended=false;mejs.YouTubeApi.createEvent(b,c,"play");mejs.YouTubeApi.createEvent(b,c,"playing");break;case 2:c.paused=true;c.ended=false;mejs.YouTubeApi.createEvent(b,c,"pause");break;case 3:mejs.YouTubeApi.createEvent(b,c,"progress")}}};function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouTubePlayerReady(a){mejs.YouTubeApi.flashReady(a)}window.mejs=mejs;window.MediaElement=mejs.MediaElement; +(function(a,b){var c={locale:{strings:{}},methods:{}};c.locale.getLanguage=function(){return{language:navigator.language}};c.locale.INIT_LANGUAGE=c.locale.getLanguage();c.methods.checkPlain=function(d){var e,g,f={"&":"&",'"':""","<":"<",">":">"};d=String(d);for(e in f)if(f.hasOwnProperty(e)){g=RegExp(e,"g");d=d.replace(g,f[e])}return d};c.methods.formatString=function(d,e){for(var g in e){switch(g.charAt(0)){case "@":e[g]=c.methods.checkPlain(e[g]);break;case "!":break;default:e[g]= +''+c.methods.checkPlain(e[g])+""}d=d.replace(g,e[g])}return d};c.methods.t=function(d,e,g){if(c.locale.strings&&c.locale.strings[g.context]&&c.locale.strings[g.context][d])d=c.locale.strings[g.context][d];if(e)d=c.methods.formatString(d,e);return d};c.t=function(d,e,g){if(typeof d==="string"&&d.length>0){var f=c.locale.getLanguage();g=g||{context:f.language};return c.methods.t(d,e,g)}else throw{name:"InvalidArgumentException",message:"First argument is either not a string or empty."}; +};b.i18n=c})(document,mejs);(function(a){a.de={Fullscreen:"Vollbild","Go Fullscreen":"Vollbild an","Turn off Fullscreen":"Vollbild aus",Close:"Schlie\u00dfen"}})(mejs.i18n.locale.strings);(function(a){a.zh={Fullscreen:"\u5168\u87a2\u5e55","Go Fullscreen":"\u5168\u5c4f\u6a21\u5f0f","Turn off Fullscreen":"\u9000\u51fa\u5168\u5c4f\u6a21\u5f0f",Close:"\u95dc\u9589"}})(mejs.i18n.locale.strings); /*! * MediaElementPlayer @@ -1823,3088 +74,93 @@ window.MediaElement = mejs.MediaElement; * Copyright 2010-2012, John Dyer (http://j.hn/) * License: MIT * - */ -if (typeof jQuery != 'undefined') { - mejs.$ = jQuery; -} else if (typeof ender != 'undefined') { - mejs.$ = ender; -} -(function ($) { - - // default player values - mejs.MepDefaults = { - // url to poster (to fix iOS 3.x) - poster: '', - // default if the

'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
' + - '
') - .addClass(t.$media[0].className) - .insertBefore(t.$media); - - // add classes for user and content - t.container.addClass( - (mf.isAndroid ? 'mejs-android ' : '') + - (mf.isiOS ? 'mejs-ios ' : '') + - (mf.isiPad ? 'mejs-ipad ' : '') + - (mf.isiPhone ? 'mejs-iphone ' : '') + - (t.isVideo ? 'mejs-video ' : 'mejs-audio ') - ); - - - // move the