You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
12 lines
5.7 KiB
12 lines
5.7 KiB
/*!
|
|
* MediaElement.js
|
|
* http://www.mediaelementjs.com/
|
|
*
|
|
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
|
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
|
*
|
|
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
|
* License: MIT
|
|
*
|
|
*/
|
|
!function i(s,o,u){function l(t,e){if(!o[t]){if(!s[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(c)return c(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var a=o[t]={exports:{}};s[t][0].call(a.exports,function(e){return l(s[t][1][e]||e)},a,a.exports,i,s,o,u)}return o[t].exports}for(var c="function"==typeof require&&require,e=0;e<u.length;e++)l(u[e]);return l}({1:[function(e,t,r){"use strict";var E={isMediaStarted:!1,isMediaLoaded:!1,creationQueue:[],prepareSettings:function(e){E.isLoaded?E.createInstance(e):(E.loadScript(e),E.creationQueue.push(e))},loadScript:function(e){if(!E.isMediaStarted){if("undefined"!=typeof VRView)E.createInstance(e);else{var t=document.createElement("script"),r=document.getElementsByTagName("script")[0],n=!1;e.options.path="string"==typeof e.options.path?e.options.path:"https://googlevr.github.io/vrview/build/vrview.min.js",t.src=e.options.path,t.onload=t.onreadystatechange=function(){n||this.readyState&&void 0!==this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState||(n=!0,E.mediaReady(),t.onload=t.onreadystatechange=null)},r.parentNode.insertBefore(t,r)}E.isMediaStarted=!0}},mediaReady:function(){for(E.isLoaded=!0,E.isMediaLoaded=!0;0<E.creationQueue.length;){var e=E.creationQueue.pop();E.createInstance(e)}},createInstance:function(e){var t=new VRView.Player("#"+e.id,e.options);window["__ready__"+e.id](t)}},n={name:"vrview",options:{prefix:"vrview"},canPlayType:function(e){return~["video/mp4","application/x-mpegurl","vnd.apple.mpegurl","application/dash+xml"].indexOf(e.toLowerCase())},create:function(o,e,t){var u=[],l={},c=null,a=1,i=a;l.options=e,l.id=o.id+"_"+e.prefix,l.mediaElement=o;for(var r=mejs.html5media.properties,n=function(n){var e=n.substring(0,1).toUpperCase()+n.substring(1);l["get"+e]=function(){if(null===c)return null;switch(n){case"currentTime":return c.getCurrentTime();case"duration":return c.getDuration();case"volume":return a=c.getVolume();case"muted":return 0===a;case"paused":return c.isPaused;case"ended":return!1;case"src":return"";case"buffered":return{start:function(){return 0},end:function(){return 0},length:1};case"readyState":return 4}return null},l["set"+e]=function(e){if(null!==c)switch(n){case"src":var t="string"==typeof e?e:e[0].src;c.setContentInfo({video:t});break;case"currentTime":c.setCurrentTime(e),setTimeout(function(){var e=mejs.Utils.createEvent("timeupdate",l);o.dispatchEvent(e)},50);break;case"volume":c.setVolume(e),setTimeout(function(){var e=mejs.Utils.createEvent("volumechange",l);o.dispatchEvent(e)},50);break;case"muted":a=e?0:i,c.setVolume(a),setTimeout(function(){var e=mejs.Utils.createEvent("volumechange",l);o.dispatchEvent(e)},50);break;case"readyState":var r=mejs.Utils.createEvent("canplay",l);o.dispatchEvent(r);break;default:console.log("VRView "+l.id,n,"UNSUPPORTED property")}else u.push({type:"set",propName:n,value:e})}},s=0,d=r.length;s<d;s++)n(r[s]);for(var p=mejs.html5media.methods,v=function(e){l[e]=function(){if(null!==c)switch(e){case"play":return c.play();case"pause":return c.pause();case"load":return null}else u.push({type:"call",methodName:e})}},f=0,m=p.length;f<m;f++)v(p[f]);var h=document.createElement("div");h.setAttribute("id",l.id),h.style.width="100%",h.style.height="100%",window["__ready__"+l.id]=function(e){o.vrPlayer=c=e;var t=h.querySelector("iframe");if(t.style.width="100%",t.style.height="100%",u.length)for(var r=0,n=u.length;r<n;r++){var a=u[r];if("set"===a.type){var i=a.propName,s=""+i.substring(0,1).toUpperCase()+i.substring(1);l["set"+s](a.value)}else"call"===a.type&&l[a.methodName]()}c.on("ready",function(){for(var r=mejs.html5media.events.concat(["mouseover","mouseout"]),e=function(t,e){c.on(r[t],function(){var e=mejs.Utils.createEvent(r[t],l);o.dispatchEvent(e)})},t=0,n=r.length;t<n;t++)e(t)})},o.originalNode.parentNode.insertBefore(h,o.originalNode),o.originalNode.style.display="none";var y={path:e.vrPath,is_stereo:e.vrIsStereo,is_autopan_off:e.vrIsAutopanOff,is_debug:e.vrDebug,default_yaw:e.vrDefaultYaw,is_yaw_only:e.vrIsYawOnly,loop:e.loop};if(t&&0<t.length)for(var g=0,w=t.length;g<w;g++)if(mejs.Renderers.renderers[e.prefix].canPlayType(t[g].type)){y.video=t[g].src,y.width="100%",y.height="100%";break}return E.prepareSettings({options:y,id:l.id}),l.hide=function(){l.pause(),c&&(h.style.display="none")},l.setSize=function(){},l.show=function(){c&&(h.style.display="")},l}};mejs.Renderers.add(n),Object.assign(mejs.MepDefaults,{vrPath:null,vrIsStereo:!0,vrIsAutopanOff:!0,vrDebug:!1,vrDefaultYaw:0,vrIsYawOnly:!1}),Object.assign(MediaElementPlayer.prototype,{buildvrview:function(t,e,r,n){var a=this;if(a.isVideo&&(!a.isVideo||null===a.media.rendererName||a.media.rendererName.match(/(native\_(dash|hls)|html5)/))){var i=document.createElement("div");t.detectFullscreenMode(),i.className=a.options.classPrefix+"button "+a.options.classPrefix+"vrview-button",i.innerHTML='<button type="button" aria-controls="'+a.id+'" title="VR" aria-label="VR" tabindex="0"></button>',i.addEventListener("click",function(){mejs.Features.HAS_TRUE_NATIVE_FULLSCREEN&&mejs.Features.IS_FULLSCREEN||t.isFullScreen?t.exitFullScreen():t.enterFullScreen()}),a.globalBind("keydown",function(e){27===(e.which||e.keyCode||0)&&(mejs.Features.HAS_TRUE_NATIVE_FULLSCREEN&&mejs.Features.IS_FULLSCREEN||t.isFullScreen)&&t.exitFullScreen()}),a.addControlElement(i,"vrview");var s=n.getSrc(),o=[{src:s,type:mejs.Utils.getTypeFromFile(s)}],u=mejs.Renderers.select(o,["vrview"]);n.changeRenderer(u.rendererName,o)}}})},{}]},{},[1]); |