mirror of
https://github.com/lubuntu-team/lubuntu.me.git
synced 2025-02-23 16:21:07 +00:00
8 lines
16 KiB
JavaScript
8 lines
16 KiB
JavaScript
/********************************************
|
|
* REVOLUTION 5.0 EXTENSION - VIDEO FUNCTIONS
|
|
* @version: 1.0.0 (03.08.2015)
|
|
* @requires jquery.themepunch.revolution.js
|
|
* @author ThemePunch
|
|
*********************************************/
|
|
|
|
!function(){function e(e){return void 0==e?-1:jQuery.isNumeric(e)?e:e.split(":").length>1?60*parseInt(e.split(":")[0],0)+parseInt(e.split(":")[1],0):e}var t=jQuery.fn.revolution,a=t.is_mobile();jQuery.extend(!0,t,{resetVideo:function(t){switch(t.data("videotype")){case"youtube":{t.data("player")}try{if("on"==t.data("forcerewind")&&!a){var i=e(t.data("videostartat"));i=-1==i?0:i,t.data("player").seekTo(i),t.data("player").pauseVideo()}}catch(o){}0==t.find(".tp-videoposter").length&&punchgs.TweenLite.to(t.find("iframe"),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});break;case"vimeo":var d=$f(t.find("iframe").attr("id"));try{if("on"==t.data("forcerewind")&&!a){var i=e(t.data("videostartat"));i=-1==i?0:i,d.api("seekTo",i),d.api("pause")}}catch(o){}0==t.find(".tp-videoposter").length&&punchgs.TweenLite.to(t.find("iframe"),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});break;case"html5":if(a&&1==t.data("disablevideoonmobile"))return!1;var n=t.find("video"),r=n[0];if(punchgs.TweenLite.to(n,.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}),"on"==t.data("forcerewind")&&!t.hasClass("videoisplaying"))try{var i=e(t.data("videostartat"));r.currentTime=-1==i?0:i}catch(o){}"mute"==t.data("volume")&&(r.muted=!0)}},stopVideo:function(e){switch(e.data("videotype")){case"youtube":try{var t=e.data("player");t.pauseVideo()}catch(a){}break;case"vimeo":try{var i=$f(e.find("iframe").attr("id"));i.api("pause")}catch(a){}break;case"html5":var o=e.find("video"),d=o[0];d.pause()}},playVideo:function(o,n){switch(clearTimeout(o.data("videoplaywait")),o.data("videotype")){case"youtube":if(0==o.find("iframe").length)o.append(o.data("videomarkup")),d(o,n,!0);else if(void 0!=o.data("player").playVideo){o.data("player").playVideo();var r=e(o.data("videostartat"));-1!=r&&o.data("player").seekTo(r)}else o.data("videoplaywait",setTimeout(function(){t.playVideo(o,n)},50));break;case"vimeo":if(0==o.find("iframe").length)o.append(o.data("videomarkup")),d(o,n,!0);else if(o.hasClass("rs-apiready")){var s=o.find("iframe").attr("id"),p=$f(s);void 0==p.api("play")?o.data("videoplaywait",setTimeout(function(){t.playVideo(o,n)},50)):setTimeout(function(){p.api("play");var t=e(o.data("videostartat"));-1!=t&&p.api("seekTo",t)},510)}else o.data("videoplaywait",setTimeout(function(){t.playVideo(o,n)},50));break;case"html5":if(a&&1==o.data("disablevideoonmobile"))return!1;var l=o.find("video"),v=l[0],u=l.parent();if(1!=u.data("metaloaded"))i(v,"loadedmetadata",function(a){t.resetVideo(a,n),v.play();var i=e(a.data("videostartat"));-1!=i&&(v.currentTime=i)}(o));else{v.play();var r=e(o.data("videostartat"));-1!=r&&(v.currentTime=r)}}},isVideoPlaying:function(e,t){var a=!1;return void 0!=t.playingvideos&&jQuery.each(t.playingvideos,function(t,i){e.attr("id")==i.attr("id")&&(a=!0)}),a},prepareCoveredVideo:function(e,t,a){var i=a.find("iframe"),o=e.split(":")[0],d=e.split(":")[1],n=t.width/t.height,r=o/d,s=n/r*100,p=r/n*100;n>r?punchgs.TweenLite.to(i,.001,{height:s+"%",width:"100%",top:-(s-100)/2+"%",left:"0px",position:"absolute"}):punchgs.TweenLite.to(i,.001,{width:p+"%",height:"100%",left:-(p-100)/2+"%",top:"0px",position:"absolute"})},checkVideoApis:function(e,t,a){var i="https:"===location.protocol?"https":"http";if((void 0!=e.data("ytid")||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("youtube")>0)&&(t.youtubeapineeded=!0),(void 0!=e.data("ytid")||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("youtube")>0)&&0==a.addedyt){a.addedyt=1;var o=document.createElement("script");o.src="https://www.youtube.com/iframe_api";var d=document.getElementsByTagName("script")[0],n=!0;jQuery("head").find("*").each(function(){"htps://www.youtube.com/iframe_api"==jQuery(this).attr("src")&&(n=!1)}),n&&d.parentNode.insertBefore(o,d)}if((void 0!=e.data("vimeoid")||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("vimeo")>0)&&(t.vimeoapineeded=!0),(void 0!=e.data("vimeoid")||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("vimeo")>0)&&0==a.addedvim){a.addedvim=1;var r=document.createElement("script"),d=document.getElementsByTagName("script")[0],n=!0;r.src=i+"://f.vimeocdn.com/js/froogaloop2.min.js",jQuery("head").find("*").each(function(){jQuery(this).attr("src")==i+"://a.vimeocdn.com/js/froogaloop2.min.js"&&(n=!1)}),n&&d.parentNode.insertBefore(r,d)}return a},manageVideoLayer:function(o,r){var s=o.data("videoattributes"),p=o.data("ytid"),l=o.data("vimeoid"),v=o.data("videpreload"),u=o.data("videomp4"),c=o.data("videowebm"),f=o.data("videoogv"),m=o.data("videocontrols"),y="http",h="loop"==o.data("videoloop")?"loop":"loopandnoslidestop"==o.data("videoloop")?"loop":"",g=void 0!=u||void 0!=c?"html5":void 0!=p&&String(p).length>1?"youtube":void 0!=l&&String(l).length>1?"vimeo":"none",b="html5"==g&&0==o.find("video").length?"html5":"youtube"==g&&0==o.find("iframe").length?"youtube":"vimeo"==g&&0==o.find("iframe").length?"vimeo":"none";switch(o.data("videotype",g),b){case"html5":"controls"!=m&&(m="");var w='<video style="object-fit:cover;visible:hidden;width:100% !important; height:100% !important" class="" '+h+' preload="'+v+'"';void 0!=c&&"firefox"==t.get_browser().toLowerCase()&&(w=w+'<source src="'+c+'" type="video/webm" />'),void 0!=u&&(w=w+'<source src="'+u+'" type="video/mp4" />'),void 0!=f&&(w=w+'<source src="'+f+'" type="video/ogg" />'),w+="</video>","controls"==m&&(w+='<div class="tp-video-controls"><div class="tp-video-button-wrap"><button type="button" class="tp-video-button tp-vid-play-pause">Play</button></div><div class="tp-video-seek-bar-wrap"><input type="range" class="tp-seek-bar" value="0"></div><div class="tp-video-button-wrap"><button type="button" class="tp-video-button tp-vid-mute">Mute</button></div><div class="tp-video-vol-bar-wrap"><input type="range" class="tp-volume-bar" min="0" max="1" step="0.1" value="1"></div><div class="tp-video-button-wrap"><button type="button" class="tp-video-button tp-vid-full-screen">Full-Screen</button></div></div>'),o.data("videomarkup",w),o.append(w),(a&&1==o.data("disablevideoonmobile")||t.isIE(8))&&o.find("video").remove(),o.find("video").each(function(){var e=this,a=jQuery(this);a.parent().hasClass("html5vid")||a.wrap('<div class="html5vid" style="position:relative;top:0px;left:0px;width:100%;height:100%; overflow:hidden;"></div>');var d=a.parent();1!=d.data("metaloaded")&&i(e,"loadedmetadata",function(e){n(e,r),t.resetVideo(e,r)}(o))});break;case"youtube":y="http","none"==m&&(s=s.replace("controls=1","controls=0"),-1==s.toLowerCase().indexOf("controls")&&(s+="&controls=0"));var k=e(o.data("videostartat")),T=e(o.data("videoendat"));-1!=k&&(s=s+"&start="+k),-1!=T&&(s=s+"&end="+T),o.data("videomarkup",'<iframe style="visible:hidden" src="'+y+"://www.youtube.com/embed/"+p+"?"+s+'" width="100%" height="100%" style="width:100%;height:100%"></iframe>');break;case"vimeo":"https:"===location.protocol&&(y="https"),o.data("videomarkup",'<iframe style="visible:hidden" src="'+y+"://player.vimeo.com/video/"+l+"?"+s+'" width="100%" height="100%" style="100%;height:100%"></iframe>')}void 0!=o.data("videoposter")&&o.data("videoposter").length>2?(0==o.find(".tp-videoposter").length&&o.append('<div class="tp-videoposter noSwipe" style="cursor:pointer; position:absolute;top:0px;left:0px;width:100%;height:100%;z-index:3;background-image:url('+o.data("videoposter")+'); background-size:cover;background-position:center center;"></div>'),0==o.find("iframe").length&&o.find(".tp-videoposter").click(function(){if(t.playVideo(o,r),a){if(1==o.data("disablevideoonmobile"))return!1;punchgs.TweenLite.to(o.find(".tp-videoposter"),.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(o.find("iframe"),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut})}})):0!=o.find("iframe").length||"youtube"!=g&&"vimeo"!=g||(o.append(o.data("videomarkup")),d(o,r,!1)),"none"!=o.data("dottedoverlay")&&void 0!=o.data("dottedoverlay")&&1!=o.find(".tp-dottedoverlay").length&&o.append('<div class="tp-dottedoverlay '+o.data("dottedoverlay")+'"></div>'),o.addClass("HasListener"),1==o.data("bgvideo")&&punchgs.TweenLite.set(o.find("video, iframe"),{autoAlpha:0})}});var i=function(e,t,a){e.addEventListener?e.addEventListener(t,a,!1):e.attachEvent(t,a,!1)},o=function(e,t,a){var i={};return i.video=e,i.videotype=t,i.settings=a,i},d=function(i,d,n){var p=i.find("iframe"),l="iframe"+Math.round(1e5*Math.random()+1),v=i.data("videoloop"),u="loopandnoslidestop"!=v;if(v="loop"==v||"loopandnoslidestop"==v,1==i.data("forcecover")){i.removeClass("fullscreenvideo").addClass("coverscreenvideo");var c=i.data("aspectratio");void 0!=c&&c.split(":").length>1&&t.prepareCoveredVideo(c,d,i)}if(p.attr("id",l),n&&i.data("startvideonow",!0),1!==i.data("videolistenerexist"))switch(i.data("videotype")){case"youtube":var f=new YT.Player(l,{events:{onStateChange:function(t){var a=t.target.getVideoEmbedCode(),i=jQuery("#"+a.split('id="')[1].split('"')[0]),n=i.closest(".tp-simpleresponsive"),p=i.parent(),l=i.parent().data("player");if(t.data==YT.PlayerState.PLAYING)punchgs.TweenLite.to(p.find(".tp-videoposter"),.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(p.find("iframe"),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}),"mute"==p.data("volume")&&l.mute(),d.videoplaying=!0,r(p,d),n.trigger("stoptimer"),d.c.trigger("revolution.slide.onvideoplay",o(l,"youtube",p.data()));else{if(0==t.data&&v){l.playVideo();var u=e(p.data("videostartat"));-1!=u&&l.seekTo(u)}(0==t.data||2==t.data)&&"on"==p.data("showcoveronpause")&&p.find(".tp-videoposter").length>0&&(punchgs.TweenLite.to(p.find(".tp-videoposter"),.3,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(p.find("iframe"),.3,{autoAlpha:0,ease:punchgs.Power3.easeInOut})),-1!=t.data&&3!=t.data&&(d.videoplaying=!1,s(p,d),n.trigger("starttimer"),d.c.trigger("revolution.slide.onvideostop",o(l,"youtube",p.data()))),0==t.data&&1==p.data("nextslideatend")?(d.c.revnext(),s(p,d)):(s(p,d),d.videoplaying=!1,n.trigger("starttimer"),d.c.trigger("revolution.slide.onvideostop",o(l,"youtube",p.data())))}},onReady:function(t){{var i=t.target.getVideoEmbedCode(),o=jQuery("#"+i.split('id="')[1].split('"')[0]),d=o.parent(),n=d.data("videorate");d.data("videostart")}if(d.addClass("rs-apiready"),void 0!=n&&t.target.setPlaybackRate(parseFloat(n)),d.find(".tp-videoposter").unbind("click"),d.find(".tp-videoposter").click(function(){a||f.playVideo()}),d.data("startvideonow")){d.data("player").playVideo();var r=e(d.data("videostartat"));-1!=r&&d.data("player").seekTo(r)}d.data("videolistenerexist",1)}}});i.data("player",f);break;case"vimeo":for(var m,y=p.attr("src"),h={},g=y,b=/([^&=]+)=([^&]*)/g;m=b.exec(g);)h[decodeURIComponent(m[1])]=decodeURIComponent(m[2]);y=void 0!=h.player_id?y.replace(h.player_id,l):y+"&player_id="+l;try{y=y.replace("api=0","api=1")}catch(w){}y+="&api=1",p.attr("src",y);var f=i.find("iframe")[0],k=(jQuery("#"+l),$f(l));k.addEvent("ready",function(){if(i.addClass("rs-apiready"),k.addEvent("play",function(){i.data("nextslidecalled",0),punchgs.TweenLite.to(i.find(".tp-videoposter"),.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(i.find("iframe"),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut}),d.c.trigger("revolution.slide.onvideoplay",o(k,"vimeo",i.data())),d.videoplaying=!0,r(i,d),u&&d.c.trigger("stoptimer"),"mute"==i.data("volume")&&k.api("setVolume","0")}),k.addEvent("playProgress",function(t){var a=e(i.data("videoendat"));if(0!=a&&Math.abs(a-t.seconds)<.3&&a>t.seconds&&1!=i.data("nextslidecalled"))if(v){k.api("play");var o=e(i.data("videostartat"));-1!=o&&k.api("seekTo",o)}else 1==i.data("nextslideatend")&&(i.data("nextslidecalled",1),d.c.revnext()),k.api("pause")}),k.addEvent("finish",function(){s(i,d),d.videoplaying=!1,d.c.trigger("starttimer"),d.c.trigger("revolution.slide.onvideostop",o(k,"vimeo",i.data())),1==i.data("nextslideatend")&&d.c.revnext()}),k.addEvent("pause",function(){i.find(".tp-videoposter").length>0&&"on"==i.data("showcoveronpause")&&(punchgs.TweenLite.to(i.find(".tp-videoposter"),.3,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(i.find("iframe"),.3,{autoAlpha:0,ease:punchgs.Power3.easeInOut})),d.videoplaying=!1,s(i,d),d.c.trigger("starttimer"),d.c.trigger("revolution.slide.onvideostop",o(k,"vimeo",i.data()))}),i.find(".tp-videoposter").unbind("click"),i.find(".tp-videoposter").click(function(){return a?void 0:(k.api("play"),!1)}),i.data("startvideonow")){k.api("play");var t=e(i.data("videostartat"));-1!=t&&k.api("seekTo",t)}i.data("videolistenerexist",1)})}else{var T=e(i.data("videostartat"));switch(i.data("videotype")){case"youtube":n&&(i.data("player").playVideo(),-1!=T&&i.data("player").seekTo());break;case"vimeo":if(n){var k=$f(i.find("iframe").attr("id"));k.api("play"),-1!=T&&k.api("seekTo",T)}}}},n=function(t,d){if(a&&1==t.data("disablevideoonmobile"))return!1;var n=t.find("video"),p=n[0],l=n.parent(),v=t.data("videoloop"),u="loopandnoslidestop"!=v;v="loop"==v||"loopandnoslidestop"==v,l.data("metaloaded",1),void 0==n.attr("control")&&(0!=t.find(".tp-video-play-button").length||a||t.append('<div class="tp-video-play-button"><i class="revicon-right-dir"></i><span class="tp-revstop"> </span></div>'),t.find("video, .tp-poster, .tp-video-play-button").click(function(){t.hasClass("videoisplaying")?p.pause():p.play()})),(1==t.data("forcecover")||t.hasClass("fullscreenvideo"))&&l.addClass(1==t.data("forcecover")?"fullcoveredvideo":"fullscreenvideo");var c=t.find(".tp-vid-play-pause")[0],f=t.find(".tp-vid-mute")[0],m=t.find(".tp-vid-full-screen")[0],y=t.find(".tp-seek-bar")[0],h=t.find(".tp-volume-bar")[0];void 0!=c&&(i(c,"click",function(){1==p.paused?p.play():p.pause()}),i(f,"click",function(){0==p.muted?(p.muted=!0,f.innerHTML="Unmute"):(p.muted=!1,f.innerHTML="Mute")}),i(m,"click",function(){p.requestFullscreen?p.requestFullscreen():p.mozRequestFullScreen?p.mozRequestFullScreen():p.webkitRequestFullscreen&&p.webkitRequestFullscreen()}),i(y,"change",function(){var e=p.duration*(y.value/100);p.currentTime=e}),i(p,"timeupdate",function(){var a=100/p.duration*p.currentTime,i=e(t.data("videoendat")),o=p.currentTime;if(y.value=a,0!=i&&Math.abs(i-o)<=.3&&i>o&&1!=t.data("nextslidecalled"))if(v){p.play();var n=e(t.data("videostartat"));-1!=n&&(p.currentTime=n)}else 1==t.data("nextslideatend")&&(t.data("nextslidecalled",1),d.c.revnext()),p.pause()}),i(y,"mousedown",function(){t.addClass("seekbardragged"),p.pause()}),i(y,"mouseup",function(){t.removeClass("seekbardragged"),p.play()}),i(h,"change",function(){p.volume=h.value})),i(p,"play",function(){t.data("nextslidecalled",0),"mute"==t.data("volume")&&(p.muted=!0),t.addClass("videoisplaying"),r(t,d),u?(d.videoplaying=!0,d.c.trigger("stoptimer"),d.c.trigger("revolution.slide.onvideoplay",o(p,"html5",t.data()))):(d.videoplaying=!1,d.c.trigger("starttimer"),d.c.trigger("revolution.slide.onvideostop",o(p,"html5",t.data()))),punchgs.TweenLite.to(t.find(".tp-videoposter"),.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(t.find("video"),.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});var e=t.find(".tp-vid-play-pause")[0],a=t.find(".tp-vid-mute")[0];void 0!=e&&(e.innerHTML="Pause"),void 0!=a&&p.muted&&(a.innerHTML="Unmute")}),i(p,"pause",function(){t.find(".tp-videoposter").length>0&&"on"==t.data("showcoveronpause")&&!t.hasClass("seekbardragged")&&(punchgs.TweenLite.to(t.find(".tp-videoposter"),.3,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut}),punchgs.TweenLite.to(t.find("video"),.3,{autoAlpha:0,ease:punchgs.Power3.easeInOut})),t.removeClass("videoisplaying"),d.videoplaying=!1,s(t,d),d.c.trigger("starttimer"),d.c.trigger("revolution.slide.onvideostop",o(p,"html5",t.data()));var e=t.find(".tp-vid-play-pause")[0];void 0!=e&&(e.innerHTML="Play")}),i(p,"ended",function(){s(t,d),d.videoplaying=!1,s(t,d),d.c.trigger("starttimer"),d.c.trigger("revolution.slide.onvideostop",o(p,"html5",t.data())),1==t.data("nextslideatend")&&d.c.revnext(),t.removeClass("videoisplaying")})},r=function(e,a){void 0==a.playingvideos&&(a.playingvideos=new Array),e.data("stopallvideos")&&void 0!=a.playingvideos&&a.playingvideos.length>0&&(a.lastplayedvideos=jQuery.extend(!0,[],a.playingvideos),jQuery.each(a.playingvideos,function(e,i){t.stopVideo(i,a)})),a.playingvideos.push(e)},s=function(e,t){void 0!=t.playingvideos&&t.playingvideos.splice(jQuery.inArray(e,t.playingvideos),1)}}(jQuery); |