| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464 |
- /********************************************
- * REVOLUTION 5.4.6.5 EXTENSION - VIDEO FUNCTIONS
- * @version: 2.2.2 (04.06.2018)
- * @requires jquery.themepunch.revolution.js
- * @author ThemePunch
- *********************************************/
- ;(function($) {
- "use strict";
- var _R = jQuery.fn.revolution,
- _ISM = _R.is_mobile(),
- _ANDROID = _R.is_android(),
- extension = { alias:"Video Min JS",
- name:"revolution.extensions.video.min.js",
- min_core: "5.4.8",
- version:"2.2.2"
- };
- ///////////////////////////////////////////
- // EXTENDED FUNCTIONS AVAILABLE GLOBAL //
- ///////////////////////////////////////////
- jQuery.extend(true,_R, {
-
- preLoadAudio : function(li,opt) {
- if (_R.compare_version(extension).check==="stop") return false;
- li.find('.tp-audiolayer').each(function() {
- var element = jQuery(this),
- obj = {};
- if (element.find('audio').length===0) {
- obj.src = element.data('videomp4') !=undefined ? element.data('videomp4') : '',
- obj.pre = element.data('videopreload') || '';
- if (element.attr('id')===undefined) element.attr('audio-layer-'+Math.round(Math.random()*199999));
- obj.id = element.attr('id');
- obj.status = "prepared";
- obj.start = jQuery.now();
- obj.waittime = element.data('videopreloadwait')*1000 || 5000;
- if (obj.pre=="auto" || obj.pre=="canplaythrough" || obj.pre=="canplay" || obj.pre=="progress") {
- if (opt.audioqueue===undefined) opt.audioqueue = [];
- opt.audioqueue.push(obj);
- _R.manageVideoLayer(element,opt);
- }
- }
- });
- },
- preLoadAudioDone : function(nc,opt,event) {
-
- if (opt.audioqueue && opt.audioqueue.length>0)
- jQuery.each(opt.audioqueue,function(i,obj) {
- if (nc.data('videomp4') === obj.src && (obj.pre === event || obj.pre==="auto")) {
- obj.status = "loaded";
- }
- });
- },
- resetVideo : function(_nc,opt,preset,nextli) {
-
- var _ = _nc.data();
- switch (_.videotype) {
- case "youtube":
-
- var player=_.player;
- try{
- if (_.forcerewind=="on") { //Removed Force Rewind Protection for Handy here !!!
- var s = getStartSec(_nc.data('videostartat')),
- wasdead = s==-1 ? true : false,
- forceseek = _.bgvideo===1 || _nc.find('.tp-videoposter').length>0 ? true : false;
-
- if (_.player!=undefined) {
- //if ((s!==0 && !wasdead) || forceseek) {
- s= s==-1 ? 0 : s;
- _.player.seekTo(s);
- _.player.pauseVideo();
- //}
- }
- }
- } catch(e) {}
- if (_nc.find('.tp-videoposter').length==0 && _.bgvideo!==1 && preset!==true)
- punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
-
- break;
- case "vimeo":
-
- var f = _nc.data('vimeoplayer');
- try{
-
- if (_.forcerewind=="on") { //Removed Force Rewind Protection for Handy here !!!
- var s = getStartSec(_.videostartat),
- ct = 0,
- wasdead = s==-1 ? true : false,
- forceseek = _.bgvideo===1 || _nc.find('.tp-videoposter').length>0 ? true : false;
- s= s==-1 ? 0 : s;
- if ((s!==0 && !wasdead) || forceseek) {
-
- // 5.4.6.5
- f.pause().then(function() {
-
- f.setCurrentTime(s);
-
- });
- }
- }
-
- } catch(e) {}
- if (_nc.find('.tp-videoposter').length==0 && _.bgvideo!==1 && preset!==true)
- punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
- break;
- case "html5":
- if (_ISM && _.disablevideoonmobile==1) return false;
-
- var tag = _.audio=="html5" ? "audio" : "video",
- jvideo = _nc.find(tag),
- video = jvideo[0];
-
- punchgs.TweenLite.to(jvideo,0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
-
- if (_.forcerewind=="on" && !_nc.hasClass("videoisplaying")) {
- try{
-
- var s = getStartSec(_.videostartat);
- video.currentTime = s == -1 ? 0 : s;
- } catch(e) {}
- }
- if (_.volume=="mute" || _R.lastToggleState(_nc.videomutetoggledby) || opt.globalmute===true)
- video.muted = true;
- break;
- }
- },
- isVideoMuted : function(_nc,opt) {
- var muted = false,
- _ = _nc.data();
- switch (_.videotype) {
- case "youtube":
- try{
- var player=_.player;
- muted = player.isMuted();
- } catch(e) {}
- break;
- case "vimeo":
- try{
- // var f = _.vimeoplayer;
- if (_.volume=="mute")
- muted = true;
-
- } catch(e) {}
- break;
- case "html5":
- var tag = _.audio=="html5" ? "audio" : "video",
- jvideo = _nc.find(tag),
- video = jvideo[0];
- if (video.muted)
- muted = true;
- break;
- }
- return muted;
- },
- muteVideo : function(_nc,opt) {
- var _ = _nc.data();
- switch (_.videotype) {
- case "youtube":
- try{
- var player=_.player;
-
- player.mute();
- } catch(e) {}
- break;
- case "vimeo":
- try{
- var f = _nc.data('vimeoplayer');
- _nc.data('volume',"mute");
- f.setVolume(0);
- } catch(e) {}
- break;
- case "html5":
- var tag = _.audio=="html5" ? "audio" : "video",
- jvideo = _nc.find(tag),
- video = jvideo[0];
- video.muted = true;
- break;
- }
- },
- unMuteVideo : function(_nc,opt) {
- if (opt.globalmute===true) return;
- var _ = _nc.data();
- switch (_.videotype) {
- case "youtube":
- try{
- var player=_.player;
- player.unMute();
- } catch(e) {}
- break;
- case "vimeo":
- try{
- var f = _nc.data('vimeoplayer');
- _nc.data('volume',"1");
- f.setVolume(1);
- } catch(e) {}
- break;
- case "html5":
- var tag = _.audio=="html5" ? "audio" : "video",
- jvideo = _nc.find(tag),
- video = jvideo[0];
- video.muted = false;
- break;
- }
- },
-
- stopVideo : function(_nc,opt) {
-
- var _ = _nc.data();
- if (!opt.leaveViewPortBasedStop)
- opt.lastplayedvideos = [];
- opt.leaveViewPortBasedStop = false;
-
- switch (_.videotype) {
- case "youtube":
- //if (_ISM) return;
- try{
- var player=_.player;
-
- if (player.getPlayerState()===2 || player.getPlayerState()===5) return;
- player.pauseVideo();
- _.youtubepausecalled = true;
- setTimeout(function() {
- _.youtubepausecalled=false;
- },80);
- } catch(e) {
- console.log("Issue at YouTube Video Pause:");
- console.log(e);
- }
- break;
- case "vimeo":
- try{
- var f = _nc.data('vimeoplayer');
- f.pause();
- _.vimeopausecalled = true;
- setTimeout(function() {
- _.vimeopausecalled=false;
- },80);
- } catch(e) {
- console.log("Issue at Vimeo Video Pause:");
- console.log(e);
- }
- break;
- case "html5":
- var tag = _.audio=="html5" ? "audio" : "video",
- jvideo = _nc.find(tag),
- video = jvideo[0];
- if (jvideo!=undefined && video!=undefined) {
-
- video.pause();
- }
- break;
- }
- },
- playVideo : function(_nc,opt) {
-
- clearTimeout(_nc.data('videoplaywait'));
- var _ = _nc.data();
- switch (_.videotype) {
- case "youtube":
- if (_nc.find('iframe').length==0) {
- _nc.append(_nc.data('videomarkup'));
- addVideoListener(_nc,opt,true);
- } else {
- if (_.player.playVideo !=undefined) {
-
- var s = getStartSec(_nc.data('videostartat')),
- ct = _.player.getCurrentTime();
- if (_nc.data('nextslideatend-triggered')==1) {
- ct=-1;
- _nc.data('nextslideatend-triggered',0);
- }
- if (s!=-1 && s>ct) _.player.seekTo(s);
- if (_.youtubepausecalled!==true)
- _.player.playVideo();
- } else {
- _nc.data('videoplaywait',setTimeout(function() {
- if (_.youtubepausecalled!==true) _R.playVideo(_nc,opt);
- },50));
- }
- }
- break;
- case "vimeo":
-
- if (_nc.find('iframe').length==0) {
- _nc.removeData('vimeoplayer');
- _nc.append(_nc.data('videomarkup'));
- addVideoListener(_nc,opt,true);
-
- } else {
- if (_nc.hasClass("rs-apiready")) {
- var id = _nc.find('iframe').attr("id"),
- f;
-
- if(!_nc.data('vimeoplayer')) {
-
- f = new Vimeo.Player(id);
- _nc.data('vimeoplayer', f);
- }
- else {
- f = _nc.data('vimeoplayer');
- }
- if (!f.getPaused()) {
- _nc.data('videoplaywait',setTimeout(function() {
- if (_.vimeopausecalled!==true)
- _R.playVideo(_nc,opt);
- },50));
-
- } else {
- setTimeout(function() {
-
- var s = getStartSec(_nc.data('videostartat')),
- ct = _nc.data('currenttime');
-
- // ct can register as undefined here at slide start
- if(!ct) ct = 0;
-
- if (_nc.data('nextslideatend-triggered')==1) {
- ct=-1;
- _nc.data('nextslideatend-triggered',0);
- }
-
- if (s!=-1 && s>ct) f.setCurrentTime(s);
- f.play();
- },510);
- }
-
- } else {
- _nc.data('videoplaywait',setTimeout(function() {
- if (_.vimeopausecalled!==true)
- _R.playVideo(_nc,opt);
- },50));
- }
- }
- break;
- case "html5":
- //if (_ISM && _nc.data('disablevideoonmobile')==1) return false;
-
- var tag = _.audio=="html5" ? "audio" : "video",
- jvideo = _nc.find(tag),
- video = jvideo[0],
- html5vid = jvideo.parent();
- if (html5vid.data('metaloaded') != 1) {
- addEvent(video,'loadedmetadata',function(_nc) {
- _R.resetVideo(_nc,opt);
- video.play();
- var s = getStartSec(_nc.data('videostartat')),
- ct = video.currentTime;
- if (_nc.data('nextslideatend-triggered')==1) {
- ct=-1;
- _nc.data('nextslideatend-triggered',0);
- }
- if (s!=-1 && s>ct) video.currentTime = s;
- }(_nc));
- } else {
- video.play();
- var s = getStartSec(_nc.data('videostartat')),
- ct = video.currentTime;
- if (_nc.data('nextslideatend-triggered')==1) {
- ct=-1;
- _nc.data('nextslideatend-triggered',0);
- }
- if (s!=-1 && s>ct) video.currentTime = s;
- }
- break;
- }
- },
- isVideoPlaying : function(_nc,opt) {
-
- var ret = false;
- if (opt.playingvideos != undefined) {
- jQuery.each(opt.playingvideos,function(i,nc) {
- if (_nc.attr('id') == nc.attr('id'))
- ret = true;
- });
- }
- return ret;
- },
- removeMediaFromList : function(_nc,opt) {
- remVidfromList(_nc,opt);
- },
- prepareCoveredVideo : function(opt,_nc) {
-
- // only resize/reposition fullscreen video
- if(_nc.hasClass('tp-caption') && !_nc.hasClass('coverscreenvideo')) return;
-
- if (_nc.data('vimeoid')!==undefined && _nc.data('vimeoplayerloaded')===undefined) return;
- var _ = {};
-
- _.ifr = _nc.find('iframe, video');
- _.asp = _nc.data('aspectratio');
-
- _.wa = _.asp.split(':')[0];
- _.ha = _.asp.split(':')[1];
- _.vd = _.wa/_.ha;
-
- // 5.4.6.5
- var conw = opt.sliderType !== 'carousel' ? opt.conw : _nc.closest('.tp-revslider-slidesli').width();
-
- if (conw===0 || opt.conh===0) {
- _R.setSize(opt);
- clearTimeout(_.ifr.data('resizelistener'));
- _.ifr.data('resizelistener',setTimeout(function() {
- _R.prepareCoveredVideo(opt,_nc);
- },100));
- return;
- }
-
- var od = conw / opt.conh,
- nvh = (od/_.vd)*100,
- nvw = (_.vd/od)*100;
-
- if (od>_.vd) {
- punchgs.TweenLite.set(_.ifr,{height:nvh+"%", width:"100%", top:-(nvh-100)/2+"%",left:"0px",position:"absolute"});
- }
- else {
- punchgs.TweenLite.set(_.ifr,{width:nvw+"%", height:"100%", left:-(nvw-100)/2+"%",top:"0px",position:"absolute"});
- }
-
- if (!_.ifr.hasClass("resizelistener")) {
- _.ifr.addClass("resizelistener");
- jQuery(window).resize(function() {
- _R.prepareCoveredVideo(opt,_nc);
-
- clearTimeout(_.ifr.data('resizelistener'));
- _.ifr.data('resizelistener',setTimeout(function() {
- _R.prepareCoveredVideo(opt,_nc);
- },90));
- })
- }
- },
- checkVideoApis : function(_nc,opt,addedApis) {
- var httpprefix = location.protocol === 'https:' ? "https" : "http";
-
- if ((_nc.data('ytid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('youtube')>0)) opt.youtubeapineeded = true;
- if ((_nc.data('ytid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('youtube')>0) && addedApis.addedyt==0) {
- opt.youtubestarttime = jQuery.now();
- addedApis.addedyt=1;
- var s = document.createElement("script");
- s.src = "https://www.youtube.com/iframe_api"; /* Load Player API*/
- var before = document.getElementsByTagName("script")[0],
- loadit = true;
- jQuery('head').find('*').each(function(){
- if (jQuery(this).attr('src') == "https://www.youtube.com/iframe_api")
- loadit = false;
- });
- if (loadit) before.parentNode.insertBefore(s, before);
- }
- if ((_nc.data('vimeoid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('vimeo')>0)) opt.vimeoapineeded = true;
- if ((_nc.data('vimeoid')!=undefined || _nc.find('iframe').length>0 && _nc.find('iframe').attr('src').toLowerCase().indexOf('vimeo')>0) && addedApis.addedvim==0) {
- opt.vimeostarttime = jQuery.now();
- addedApis.addedvim=1;
- var f = document.createElement("script"),
- before = document.getElementsByTagName("script")[0],
- loadit = true;
- f.src = "https://player.vimeo.com/api/player.js"; /* Load Player API*/
- jQuery('head').find('*').each(function(){
- if (jQuery(this).attr('src') == "https://player.vimeo.com/api/player.js")
- loadit = false;
- });
- if (loadit)
- before.parentNode.insertBefore(f, before);
- }
- return addedApis;
- },
- manageVideoLayer : function(_nc,opt,recalled,internrecalled) {
- if (_R.compare_version(extension).check==="stop") return false;
- // YOUTUBE AND VIMEO LISTENRES INITIALISATION
- var _ = _nc.data(),
- vida = _.videoattributes,
- vidytid = _.ytid,
- vimeoid = _.vimeoid,
- videopreload = _.videopreload === "auto" || _.videopreload === "canplay" || _.videopreload === "canplaythrough" || _.videopreload === "progress" ? "auto" : _.videopreload,
- videomp = _.videomp4,
- videowebm = _.videowebm,
- videoogv = _.videoogv,
- videoafs = _.allowfullscreenvideo,
- videocontrols = _.videocontrols,
- httpprefix = "http",
- videoloop = _.videoloop=="loop" ? "loop" : _.videoloop=="loopandnoslidestop" ? "loop" : "",
- videotype = (videomp!=undefined || videowebm!=undefined) ? "html5" :
- (vidytid!=undefined && String(vidytid).length>1) ? "youtube" :
- (vimeoid!=undefined && String(vimeoid).length>1) ? "vimeo" : "none",
- tag = _.audio=="html5" ? "audio" : "video",
- newvideotype = (videotype=="html5" && _nc.find(tag).length==0) ? "html5" :
- (videotype=="youtube" && _nc.find('iframe').length==0) ? "youtube" :
- (videotype=="vimeo" && _nc.find('iframe').length==0) ? "vimeo" : "none";
- // VideLoop reset if Next Slide at End is set !
- videoloop = _.nextslideatend === true ? "" : videoloop;
- _.videotype = videotype;
- // ADD HTML5 VIDEO IF NEEDED
- switch (newvideotype) {
- case "html5":
- if (videocontrols!="controls") videocontrols="";
- var tag = "video";
- //_nc.data('audio',"html5");
- if (_.audio=="html5") {
- tag = "audio";
- _nc.addClass("tp-audio-html5");
- }
-
- /*
- JASON:
- HTML5 Video Mod
- */
- // var _funcs = opt.fallbacks.allowHTML5AutoPlayOnAndroid ? "muted playsinline" : "";
- var _funcs = '';
-
- if(tag === 'video') {
-
- if (_R.is_mobile() || _R.isSafari11()) { /* updated to account for Safari 11 */
- if(_.autoplay === 'on' || _.autoplay === 'true' || _.autoplay === true) {
- _funcs = 'muted playsinline autoplay';
- }
- else if(_.videoinline == true || _.videoinline === 'true' || _.videoinline === 1) {
- _funcs += ' playsinline';
- }
- }
- }
-
- var apptxt = '<'+tag+' '+_funcs+' style="object-fit:cover;background-size:cover;visible:hidden;width:100%; height:100%" class="" '+videoloop+' preload="'+videopreload+'">';
-
- if (videopreload=="auto") opt.mediapreload = true;
- //if (_.videoposter!=undefined) apptxt = apptxt + 'poster="'+_nc.data('videoposter')+'">';
- if (tag === 'video') {
- if (videowebm!=undefined && _R.get_browser().toLowerCase()=="firefox") apptxt = apptxt + '<source src="'+videowebm+'" type="video/webm" />';
- if (videomp!=undefined) apptxt = apptxt + '<source src="'+videomp+'" type="video/mp4" />';
- if (videoogv!=undefined) apptxt = apptxt + '<source src="'+videoogv+'" type="video/ogg" />';
- } else
- if (tag === 'audio') {
- if (videomp!=undefined) apptxt = apptxt + '<source src="'+videomp+'" type="audio/mpeg" />';
- if (videoogv!=undefined) apptxt = apptxt + '<source src="'+videoogv+'" type="audio/ogg" />';
- }
- apptxt = apptxt + '</'+tag+'>';
- var hfm ="";
- if (videoafs==="true" || videoafs===true)
- hfm = '<div class="tp-video-button-wrap"><button type="button" class="tp-video-button tp-vid-full-screen">Full-Screen</button></div>';
- if (videocontrols=="controls")
- apptxt = apptxt + ('<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>'+
- hfm+
- '</div>');
-
- _nc.data('videomarkup',apptxt)
- _nc.append(apptxt);
- // START OF HTML5 VIDEOS
- if ((_ISM && _nc.data('disablevideoonmobile')==1) ||_R.isIE(8)) _nc.find(tag).remove();
- // ADD HTML5 VIDEO CONTAINER
- _nc.find(tag).each(function(i) {
- var video = this,
- jvideo = jQuery(this);
- if (!jvideo.parent().hasClass("html5vid"))
- jvideo.wrap('<div class="html5vid" style="position:relative;top:0px;left:0px;width:100%;height:100%; overflow:hidden;"></div>');
- var html5vid = jvideo.parent();
- if (html5vid.data('metaloaded') != 1) {
- addEvent(video,'loadedmetadata',function(_nc) {
- htmlvideoevents(_nc,opt);
- _R.resetVideo(_nc,opt);
- }(_nc));
- }
- });
- break;
- case "youtube":
- httpprefix = "https";
- /* if (location.protocol === 'https:')
- httpprefix = "https"; */
- if (videocontrols=="none") {
- vida = vida.replace("controls=1","controls=0");
- if (vida.toLowerCase().indexOf('controls')==-1)
- vida = vida+"&controls=0";
- }
-
- if (_.videoinline===true || _.videoinline==="true" || _.videoinline===1 || _nc.hasClass('rs-background-video-layer') || _nc.data('autoplay') === 'on')
- vida = vida + "&playsinline=1";
- var s = getStartSec(_nc.data('videostartat')),
- e = getStartSec(_nc.data('videoendat'));
-
- if (s!=-1) vida=vida+"&start="+s;
- if (e!=-1) vida=vida+"&end="+e;
- // CHECK VIDEO ORIGIN, AND EXTEND WITH WWW IN CASE IT IS MISSING !
- var orig = vida.split('origin='+httpprefix+'://'),
- vida_new = "";
-
- if (orig.length>1) {
- vida_new = orig[0]+'origin='+httpprefix+'://';
- if (self.location.href.match(/www/gi) && !orig[1].match(/www/gi))
- vida_new=vida_new+"www."
- vida_new=vida_new+orig[1];
- } else {
- vida_new = vida;
- }
-
- // youtube/chrome fix Jason (removed "visibility: hidden" from markup)
- var yafv = videoafs==="true" || videoafs===true ? "allowfullscreen" : "";
- _nc.data('videomarkup','<iframe type="text/html" src="'+httpprefix+'://www.youtube-nocookie.com/embed/'+vidytid+'?'+vida_new+'" '+yafv+' width="100%" height="100%" style="opacity:0;width:100%;height:100%"></iframe>');
- break;
- case "vimeo":
- // if (location.protocol === 'https:')
- httpprefix = "https";
- _nc.data('videomarkup','<iframe src="'+httpprefix+'://player.vimeo.com/video/'+vimeoid+'?'+vida+'" webkitallowfullscreen mozallowfullscreen allowfullscreen width="100%" height="100%" style="opacity:0;visibility:hidden;width:100%;height:100%"></iframe>');
-
- break;
- }
-
- //if (videotype=="vimeo" || videotype=="youtube") {
-
- // IF VIDEOPOSTER EXISTING
- var noposteronmobile = _ISM && _nc.data('noposteronmobile')=="on";
-
- if (_.videoposter!=undefined && _.videoposter.length>2 && !noposteronmobile) {
- if (_nc.find('.tp-videoposter').length==0)
- _nc.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('+_.videoposter+'); background-size:cover;background-position:center center;"></div>');
- if (_nc.find('iframe').length==0)
- _nc.find('.tp-videoposter').click(function() {
- _R.playVideo(_nc,opt);
- if (_ISM) {
- if (_nc.data('disablevideoonmobile')==1) return false;
- punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut});
- punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
- }
- })
- } else {
- if (_ISM && _nc.data('disablevideoonmobile')==1) return false;
- if (_nc.find('iframe').length==0 && (videotype=="youtube" || videotype=="vimeo")) {
- _nc.removeData('vimeoplayer');
- _nc.append(_nc.data('videomarkup'));
- addVideoListener(_nc,opt,false);
- }
- }
-
- // ADD DOTTED OVERLAY IF NEEDED
- if (_nc.data('dottedoverlay')!="none" && _nc.data('dottedoverlay')!=undefined && _nc.find('.tp-dottedoverlay').length!=1)
- _nc.append('<div class="tp-dottedoverlay '+_nc.data('dottedoverlay')+'"></div>');
-
- _nc.addClass("HasListener");
- if (_nc.data('bgvideo')==1) {
-
- // youtube/chome fix Jason, iframe must be visible for iframe-API Post-Messaging to work
- if(_nc.data('ytid')) {
- punchgs.TweenLite.set(_nc.find('iframe'),{opacity:0});
- }
- else {
- punchgs.TweenLite.set(_nc.find('video, iframe'),{autoAlpha:0});
- }
- }
-
- }
-
- });
- //////////////////////////////////////////////////////
- // * Revolution Slider - VIDEO / API FUNCTIONS //
- // * @version: 1.0 (30.10.2014) //
- // * @author ThemePunch //
- //////////////////////////////////////////////////////
- function getStartSec(st) {
- return st == undefined ? -1 :jQuery.isNumeric(st) ? st : st.split(":").length>1 ? parseInt(st.split(":")[0],0)*60 + parseInt(st.split(":")[1],0) : st;
- };
- // - VIMEO ADD EVENT /////
- var addEvent = function(element, eventName, callback) {
- if (element.addEventListener)
- element.addEventListener(eventName, callback, {capture:false,passive:true});
- else
- element.attachEvent(eventName, callback, {capture:false,passive:true});
- };
- var getVideoDatas = function(p,t,d) {
- var a = {};
- a.video = p;
- a.videotype = t;
- a.settings = d;
- return a;
- }
- var callPrepareCoveredVideo = function(opt,_nc) {
- // CARE ABOUT ASPECT RATIO
- if (_nc.data('bgvideo')==1 || _nc.data('forcecover')==1) {
- if (_nc.data('forcecover')===1) _nc.removeClass("fullscreenvideo").addClass("coverscreenvideo");
- var a =_nc.data('aspectratio');
- if (a===undefined && a.split(":").length<=1) _nc.data('aspectratio','16:9');
- _R.prepareCoveredVideo(opt,_nc);
- }
- }
- var addVideoListener = function(_nc,opt,startnow) {
-
- var _=_nc.data(),
- ifr = _nc.find('iframe'),
- frameID = "iframe"+Math.round(Math.random()*100000+1),
- loop = _.videoloop,
- pforv = loop != "loopandnoslidestop";
-
- loop = loop =="loop" || loop =="loopandnoslidestop";
-
- callPrepareCoveredVideo(opt,_nc);
- // IF LISTENER DOES NOT EXIST YET
- ifr.attr('id',frameID);
- if (startnow) _nc.data('startvideonow',true);
- if (_nc.data('videolistenerexist')!==1) {
- switch (_.videotype) {
- // YOUTUBE LISTENER
- case "youtube":
- var player = new YT.Player(frameID, {
- events: {
- "onStateChange": function(event) {
-
- var container = _nc.closest('.tp-simpleresponsive'),
- videorate = _.videorate,
- videostart = _nc.data('videostart'),
- fsmode = checkfullscreenEnabled();
-
- if (event.data == YT.PlayerState.PLAYING) {
- punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut});
- punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
- if (_nc.data('volume')=="mute" || _R.lastToggleState(_nc.data('videomutetoggledby')) || opt.globalmute===true) {
- player.mute();
- } else {
- player.unMute();
- player.setVolume(parseInt(_nc.data('volume'),0) || 75);
- }
- opt.videoplaying=true;
- addVidtoList(_nc,opt);
- if (pforv)
- opt.c.trigger('stoptimer');
- else
- opt.videoplaying=false;
-
- opt.c.trigger('revolution.slide.onvideoplay',getVideoDatas(player,"youtube",_nc.data()));
- _R.toggleState(_.videotoggledby);
-
- } else {
- if (event.data==0 && loop) {
- //player.playVideo();
- var s = getStartSec(_nc.data('videostartat'));
- if (s!=-1) player.seekTo(s);
- player.playVideo();
- _R.toggleState(_.videotoggledby);
- }
-
- if (!fsmode && (event.data==0 || event.data==2) && ((_nc.data('showcoveronpause')=="on" && _nc.find('.tp-videoposter').length>0) || (_nc.data('bgvideo')===1 && _nc.find('.rs-fullvideo-cover').length>0))) {
- if (_nc.data('bgvideo')===1)
- punchgs.TweenLite.to(_nc.find('.rs-fullvideo-cover'),0.1,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut});
- else
- punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.1,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut});
- punchgs.TweenLite.to(_nc.find('iframe'),0.1,{autoAlpha:0,ease:punchgs.Power3.easeInOut});
- }
- if ((event.data!=-1 && event.data!=3)) {
-
- opt.videoplaying=false;
- opt.tonpause = false;
-
- remVidfromList(_nc,opt);
- container.trigger('starttimer');
- opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(player,"youtube",_nc.data()));
-
- if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id"))
- _R.unToggleState(_.videotoggledby);
-
- }
-
- if (event.data==0 && _nc.data('nextslideatend')==true) {
- exitFullscreen();
- _nc.data('nextslideatend-triggered',1);
- opt.c.revnext();
- remVidfromList(_nc,opt);
- } else {
- remVidfromList(_nc,opt);
- opt.videoplaying=false;
- container.trigger('starttimer');
- opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(player,"youtube",_nc.data()));
- if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id"))
- _R.unToggleState(_.videotoggledby);
- }
- }
- },
- 'onReady': function(event) {
-
- /*
- Jason, YouTube Autoplay
- */
-
- var playerMuted,
- isVideoMobile = _R.is_mobile(),
- isVideoLayer = _nc.hasClass('tp-videolayer');
-
- if(isVideoMobile || _R.isSafari11()) {
-
- var isLayerAutoPlay = isVideoLayer && _nc.data('autoplay') !== 'off';
- if(_nc.hasClass('rs-background-video-layer') || isLayerAutoPlay) {
-
- var isSpecial = isVideoMobile && isVideoLayer;
- if(!isSpecial) {
-
- playerMuted = true;
- player.setVolume(0);
- _nc.data('volume', 'mute');
- player.mute();
-
- clearTimeout(_nc.data('mobilevideotimr'));
- _nc.data('mobilevideotimr', setTimeout(function() {player.playVideo();}, 500));
-
- }
-
- }
-
- }
-
- if(!playerMuted && _nc.data('volume')=="mute") {
- player.setVolume(0);
- player.mute();
- }
-
- var videorate = _.videorate,
- videostart = _nc.data('videostart');
-
- _nc.addClass("rs-apiready");
- if (videorate!=undefined)
- event.target.setPlaybackRate(parseFloat(videorate));
-
- // PLAY VIDEO IF THUMBNAIL HAS BEEN CLICKED
- _nc.find('.tp-videoposter').unbind("click");
- _nc.find('.tp-videoposter').click(function() {
- if (!_ISM) {
- player.playVideo();
- }
- })
- if (_nc.data('startvideonow')) {
-
- _.player.playVideo();
- var s = getStartSec(_nc.data('videostartat'));
- if (s!=-1) _.player.seekTo(s);
- //_nc.find('.tp-videoposter').click();
- }
- _nc.data('videolistenerexist',1);
- }
- }
- });
- _nc.data('player',player);
- break;
- // VIMEO LISTENER
- case "vimeo":
- var isrc = ifr.attr('src'),
- queryParameters = {}, queryString = isrc,
- re = /([^&=]+)=([^&]*)/g, m;
- // Creates a map with the query string parameters
- while (m = re.exec(queryString)) {
- queryParameters[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
- }
- if (queryParameters['player_id']!=undefined)
- isrc = isrc.replace(queryParameters['player_id'],frameID);
- else
- isrc=isrc+"&player_id="+frameID;
- // try{ isrc = isrc.replace('api=0','api=1'); } catch(e) {}
- // isrc=isrc+"&api=1";
- isrc = isrc.replace(/&api=0|&api=1/g, '');
-
- var isVideoMobile = _R.is_mobile(),
- isAutoplay = _nc.data('autoplay'),
- toMute = _nc.data('volume')=="mute",
- deviceCheck = isVideoMobile || _R.isSafari11(),
- isVideoBg = _nc.hasClass('rs-background-video-layer');
-
- isAutoplay = isAutoplay === 'on' || isAutoplay === 'true' || isAutoplay === true;
- if(isAutoplay && deviceCheck) {
-
- isrc += '?autoplay=1&autopause=0&muted=1&background=1&playsinline=1';
- _nc.data({vimeoplaysinline: true, volume: 'mute'});
-
- }
- ifr.attr('src',isrc);
-
- var player = _nc.find('iframe')[0],
- vimcont = jQuery('#'+frameID),
- f;
- if(!_nc.data('vimeoplayer')) {
- f = new Vimeo.Player(frameID);
- _nc.data('vimeoplayer', f);
- }
- else {
- f = _nc.data('vimeoplayer');
- }
-
- // Read out the Real Aspect Ratio from Vimeo Video
-
- f.on('loaded',function(data) {
- var newas = {};
-
- f.getVideoWidth().then( function(width) {
- newas.width = width;
- if (newas.width!==undefined && newas.height!==undefined) {
- _nc.data('aspectratio',newas.width+":"+newas.height);
- _nc.data('vimeoplayerloaded',true);
- callPrepareCoveredVideo(opt,_nc);
- }
- });
- f.getVideoHeight().then( function(height) {
- newas.height = height;
- if (newas.width!==undefined && newas.height!==undefined) {
- _nc.data('aspectratio',newas.width+":"+newas.height);
- _nc.data('vimeoplayerloaded',true);
- callPrepareCoveredVideo(opt,_nc);
- }
- });
-
- });
- _nc.addClass("rs-apiready");
-
- f.on('play', function(data) {
- _nc.data('nextslidecalled',0);
- punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut});
- punchgs.TweenLite.to(_nc.find('iframe'),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
- opt.c.trigger('revolution.slide.onvideoplay',getVideoDatas(f,"vimeo",_nc.data()));
- opt.videoplaying=true;
-
- addVidtoList(_nc,opt);
- if (pforv)
- opt.c.trigger('stoptimer');
- else
- opt.videoplaying=false;
-
- if(!_nc.data('vimeoplaysinline')) {
-
- if (_nc.data('volume')=="mute" || _R.lastToggleState(_nc.data('videomutetoggledby')) || opt.globalmute===true)
- f.setVolume(0);
- else
- f.setVolume(parseInt(_nc.data('volume'),0)/100 || 0.75);
- _R.toggleState(_.videotoggledby);
-
- }
-
- });
- f.on('timeupdate',function(data) {
- var et = getStartSec(_nc.data('videoendat'))
- _nc.data('currenttime',data.seconds);
-
- if (et!=0 && (Math.abs(et-data.seconds) <1 && et>data.seconds) && _nc.data('nextslidecalled') != 1) {
- if (loop) {
- f.play();
- var s = getStartSec(_nc.data('videostartat'));
- if (s!=-1) f.setCurrentTime(s);
- } else {
- if (_nc.data('nextslideatend')==true) {
- _nc.data('nextslideatend-triggered',1);
- _nc.data('nextslidecalled',1);
- opt.c.revnext();
- }
- f.pause();
- }
- }
- });
- f.on('ended', function(data) {
- remVidfromList(_nc,opt);
- opt.videoplaying=false;
- opt.c.trigger('starttimer');
- opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(f,"vimeo",_nc.data()));
- if (_nc.data('nextslideatend')==true) {
- _nc.data('nextslideatend-triggered',1);
- opt.c.revnext();
- }
- if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id"))
- _R.unToggleState(_.videotoggledby);
-
- });
- f.on('pause', function(data) {
- if (((_nc.data('showcoveronpause')=="on" && _nc.find('.tp-videoposter').length>0) || (_nc.data('bgvideo')===1 && _nc.find('.rs-fullvideo-cover').length>0))) {
- if (_nc.data('bgvideo')===1)
- punchgs.TweenLite.to(_nc.find('.rs-fullvideo-cover'),0.1,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut});
- else
- punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.1,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut});
- punchgs.TweenLite.to(_nc.find('iframe'),0.1,{autoAlpha:0,ease:punchgs.Power3.easeInOut});
- }
- opt.videoplaying=false;
- opt.tonpause = false;
-
- remVidfromList(_nc,opt);
- opt.c.trigger('starttimer');
- opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(f,"vimeo",_nc.data()));
- if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id"))
- _R.unToggleState(_.videotoggledby);
- });
-
-
-
- _nc.find('.tp-videoposter').unbind("click");
- _nc.find('.tp-videoposter').click(function() {
- if (!_ISM) {
-
- f.play();
- return false;
- }
- })
- if (_nc.data('startvideonow')) {
- f.play();
- var s = getStartSec(_nc.data('videostartat'));
- if (s!=-1) f.setCurrentTime(s);
- }
- _nc.data('videolistenerexist',1);
-
- break;
- }
- } else {
- var s = getStartSec(_nc.data('videostartat'));
- switch (_.videotype) {
- // YOUTUBE LISTENER
- case "youtube":
- if (startnow) {
- _.player.playVideo();
- if (s!=-1) _.player.seekTo()
- }
- break;
- case "vimeo":
- if (startnow) {
-
- var f = _nc.data('vimeoplayer');
- f.play();
- if (s!=-1) f.seekTo(s);
- }
- break;
- }
- }
- }
- var exitFullscreen = function() {
- if(document.exitFullscreen) {
- document.exitFullscreen();
- } else if(document.mozCancelFullScreen) {
- document.mozCancelFullScreen();
- } else if(document.webkitExitFullscreen) {
- document.webkitExitFullscreen();
- }
- }
- var checkfullscreenEnabled = function() {
- try{
- // FF provides nice flag, maybe others will add support for this later on?
- if(window['fullScreen'] !== undefined) {
- return window.fullScreen;
- }
- // 5px height margin, just in case (needed by e.g. IE)
- var heightMargin = 5;
- if(jQuery.browser.webkit && /Apple Computer/.test(navigator.vendor)) {
- // Safari in full screen mode shows the navigation bar,
- // which is 40px
- heightMargin = 42;
- }
- return screen.width == window.innerWidth &&
- Math.abs(screen.height - window.innerHeight) < heightMargin;
- } catch(e) {
- }
- }
- ///////////////////////////////////////// HTML5 VIDEOS ///////////////////////////////////////////
- var htmlvideoevents = function(_nc,opt,startnow) {
- if (_ISM && _nc.data('disablevideoonmobile')==1) return false;
- var _ = _nc.data(),
- tag = _.audio=="html5" ? "audio" : "video",
- jvideo = _nc.find(tag),
- video = jvideo[0],
- html5vid = jvideo.parent(),
- loop = _.videoloop,
- pforv = loop != "loopandnoslidestop";
- loop = loop =="loop" || loop =="loopandnoslidestop";
- html5vid.data('metaloaded',1);
- // FIRST TIME LOADED THE HTML5 VIDEO
- if (_nc.data('bgvideo')==1 && (_.videoloop==="none" || _.videoloop===false))
- pforv = false;
-
-
-
-
- //PLAY, STOP VIDEO ON CLICK OF PLAY, POSTER ELEMENTS
- if (jvideo.attr('control') == undefined ) {
- if (_nc.find('.tp-video-play-button').length==0 && !_ISM)
- _nc.append('<div class="tp-video-play-button"><i class="revicon-right-dir"></i><span class="tp-revstop"> </span></div>');
- _nc.find('video, .tp-poster, .tp-video-play-button').click(function() {
- if (_nc.hasClass("videoisplaying"))
- video.pause();
- else
- video.play();
- })
- }
- // PRESET FULLCOVER VIDEOS ON DEMAND
- if (_nc.data('forcecover')==1 || _nc.hasClass('fullscreenvideo') || _nc.data('bgvideo')==1) {
- if (_nc.data('forcecover')==1 || _nc.data('bgvideo')==1) {
- html5vid.addClass("fullcoveredvideo");
- var a = _nc.data('aspectratio');
- if (a===undefined || a.split(':').length==1) _nc.data('aspectratio','16:9');
- _R.prepareCoveredVideo(opt,_nc);
- }
- else
- html5vid.addClass("fullscreenvideo");
- }
-
- // FIND CONTROL BUTTONS IN VIDEO, AND ADD EVENT LISTENERS ON THEM
- var playButton = _nc.find('.tp-vid-play-pause')[0],
- muteButton = _nc.find('.tp-vid-mute')[0],
- fullScreenButton = _nc.find('.tp-vid-full-screen')[0],
- seekBar = _nc.find('.tp-seek-bar')[0],
- volumeBar = _nc.find('.tp-volume-bar')[0];
- if (playButton!=undefined) {
- // Event listener for the play/pause button
- addEvent(playButton,"click", function() {
- if (video.paused == true)
- video.play();
- else
- video.pause();
- });
- }
- if (muteButton!=undefined) {
- // Event listener for the mute button
- addEvent(muteButton,"click", function() {
- if (video.muted == false) {
- video.muted = true;
- muteButton.innerHTML = "Unmute";
- } else {
- video.muted = false;
- muteButton.innerHTML = "Mute";
- }
- });
- }
- if (fullScreenButton!=undefined) {
- // Event listener for the full-screen button
- if (fullScreenButton)
- addEvent(fullScreenButton,"click", function() {
- if (video.requestFullscreen) {
- video.requestFullscreen();
- } else if (video.mozRequestFullScreen) {
- video.mozRequestFullScreen(); // Firefox
- } else if (video.webkitRequestFullscreen) {
- video.webkitRequestFullscreen(); // Chrome and Safari
- }
- });
- }
- if (seekBar !=undefined) {
- // Event listener for the seek bar
- addEvent(seekBar,"change", function() {
- var time = video.duration * (seekBar.value / 100);
- video.currentTime = time;
- });
- // Pause the video when the seek handle is being dragged
- addEvent(seekBar,"mousedown", function() {
- _nc.addClass("seekbardragged");
- video.pause();
- });
- // Play the video when the seek handle is dropped
- addEvent(seekBar,"mouseup", function() {
- _nc.removeClass("seekbardragged");
- video.play();
- });
- }
- addEvent(video,"canplaythrough", function() {
- _R.preLoadAudioDone(_nc,opt,"canplaythrough");
- });
- addEvent(video,"canplay", function() {
- _R.preLoadAudioDone(_nc,opt,"canplay");
- });
- addEvent(video,"progress", function() {
- _R.preLoadAudioDone(_nc,opt,"progress");
- });
- // Update the seek bar as the video plays
- addEvent(video,"timeupdate", function() {
-
- var value = (100 / video.duration) * video.currentTime,
- et = getStartSec(_nc.data('videoendat')),
- cs =video.currentTime;
- if (seekBar != undefined)
- seekBar.value = value;
-
- if (et!=0 && et!=-1 && (Math.abs(et-cs) <=0.3 && et>cs) && _nc.data('nextslidecalled') != 1) {
- if (loop) {
- video.play();
- var s = getStartSec(_nc.data('videostartat'));
- if (s!=-1) video.currentTime = s;
- } else {
-
- if (_nc.data('nextslideatend')==true) {
- _nc.data('nextslideatend-triggered',1);
- _nc.data('nextslidecalled',1);
- opt.just_called_nextslide_at_htmltimer = true;
- opt.c.revnext();
- setTimeout(function() {
- opt.just_called_nextslide_at_htmltimer = false;
- },1000);
- }
- video.pause();
- }
- }
- });
-
- if (volumeBar != undefined) {
- // Event listener for the volume bar
- addEvent(volumeBar,"change", function() {
- // Update the video volume
- video.volume = volumeBar.value;
- });
- }
- // VIDEO EVENT LISTENER FOR "PLAY"
- addEvent(video,"play",function() {
- _nc.data('nextslidecalled',0);
-
- var vol = _nc.data('volume');
- vol = vol!=undefined && vol!="mute" ?parseFloat(vol)/100 : vol;
-
- // JASON
- // if (!_ANDROID) {
-
- if (!_R.is_mobile() && !_R.isSafari11()) {
- if (opt.globalmute===true)
- video.muted = true;
- else
- video.muted = false;
- if (vol>1) vol = vol/100;
-
- if (vol=="mute")
- video.muted=true;
- else
- if (vol!=undefined)
- video.volume = vol;
- }
- _nc.addClass("videoisplaying");
- var tag = _.audio=="html5" ? "audio" : "video";
- addVidtoList(_nc,opt);
- if (!pforv || tag=="audio") {
- opt.videoplaying=false;
- if (tag!="audio") opt.c.trigger('starttimer');
- opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(video,"html5",_));
- } else {
- opt.videoplaying=true;
- opt.c.trigger('stoptimer');
- opt.c.trigger('revolution.slide.onvideoplay',getVideoDatas(video,"html5",_));
- }
- punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:0,force3D:"auto",ease:punchgs.Power3.easeInOut});
- punchgs.TweenLite.to(_nc.find(tag),0.3,{autoAlpha:1,display:"block",ease:punchgs.Power3.easeInOut});
- var playButton = _nc.find('.tp-vid-play-pause')[0],
- muteButton = _nc.find('.tp-vid-mute')[0];
- if (playButton!=undefined)
- playButton.innerHTML = "Pause";
- if (muteButton!=undefined && video.muted)
- muteButton.innerHTML = "Unmute";
- _R.toggleState(_.videotoggledby);
- });
- // VIDEO EVENT LISTENER FOR "PAUSE"
- addEvent(video,"pause",function(e) {
- var tag = _.audio=="html5" ? "audio" : "video",
- fsmode = checkfullscreenEnabled();
-
-
- if (!fsmode && _nc.find('.tp-videoposter').length>0 && _nc.data('showcoveronpause')=="on" && !_nc.hasClass("seekbardragged")) {
- punchgs.TweenLite.to(_nc.find('.tp-videoposter'),0.3,{autoAlpha:1,force3D:"auto",ease:punchgs.Power3.easeInOut});
- punchgs.TweenLite.to(_nc.find(tag),0.3,{autoAlpha:0,ease:punchgs.Power3.easeInOut});
- }
-
- _nc.removeClass("videoisplaying");
- opt.videoplaying=false;
- remVidfromList(_nc,opt);
- if (tag!="audio") opt.c.trigger('starttimer');
- opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(video,"html5",_nc.data()));
- var playButton = _nc.find('.tp-vid-play-pause')[0];
- if (playButton!=undefined)
- playButton.innerHTML = "Play";
- if (opt.currentLayerVideoIsPlaying==undefined || opt.currentLayerVideoIsPlaying.attr("id") == _nc.attr("id"))
- _R.unToggleState(_.videotoggledby);
- });
- // VIDEO EVENT LISTENER FOR "END"
-
- addEvent(video,"ended",function() {
- exitFullscreen();
-
- remVidfromList(_nc,opt);
- opt.videoplaying=false;
- remVidfromList(_nc,opt);
- if (tag!="audio") opt.c.trigger('starttimer');
- opt.c.trigger('revolution.slide.onvideostop',getVideoDatas(video,"html5",_nc.data()));
- if (_nc.data('nextslideatend')===true && video.currentTime>0) {
-
- if (!opt.just_called_nextslide_at_htmltimer==true) {
- _nc.data('nextslideatend-triggered',1);
- opt.c.revnext();
- opt.just_called_nextslide_at_htmltimer = true;
- }
- setTimeout(function() {
- opt.just_called_nextslide_at_htmltimer = false;
- },1500)
- }
- _nc.removeClass("videoisplaying");
-
-
- });
- }
- var addVidtoList = function(_nc,opt) {
- if (opt.playingvideos == undefined) opt.playingvideos = new Array();
-
- // STOP OTHER VIDEOS
- if (_nc.data('stopallvideos')) {
- if (opt.playingvideos != undefined && opt.playingvideos.length>0) {
- opt.lastplayedvideos = jQuery.extend(true,[],opt.playingvideos);
- jQuery.each(opt.playingvideos,function(i,_nc) {
- _R.stopVideo(_nc,opt);
- });
- }
- }
- opt.playingvideos.push(_nc);
- opt.currentLayerVideoIsPlaying = _nc;
-
- }
- var remVidfromList = function(_nc,opt) {
- if (opt.playingvideos != undefined && jQuery.inArray(_nc,opt.playingvideos)>=0)
- opt.playingvideos.splice(jQuery.inArray(_nc,opt.playingvideos),1);
- }
-
- })(jQuery);
|