1var PLAYER = PLAYER || {}; 2PLAYER.Playlist = function ($, video, options, mainContainer, element, preloader, preloaderAD, myVideo, canPlay, click_ev, params, pw, deviceAgent, agentID, youtube_array, isMobile) 3{ 4 //constructor 5 var self = this; 6 7 this.myVideo = myVideo; 8 this.VIDEO = video; 9 this.element = element; 10 this.youtube_array = youtube_array; 11 //if youtube playlist/channel fill options 12 if(options.youtubePlaylistID != "" || options.youtubeChannelID != "") 13 options.videos = self.youtube_array; 14 this.canPlay = canPlay; 15 this.CLICK_EV = click_ev; 16 this.params = params; 17 this.isMobile = isMobile; 18 this.preloader = preloader; 19 this.preloaderAD = preloaderAD; 20 this.options = options; 21 this.mainContainer = mainContainer; 22 this.videoid = "VIDEOID"; 23 this.adStartTime = "ADSTARTTIME"; 24 this.videoAdPlayed = false; 25 this.rand = Math.floor((Math.random() * (options.videos).length) + 0); 26 this.ytQuality = options.youtubeQuality; 27 this.youtubeSTARTED=false; 28 this.deviceAgent = deviceAgent; 29 this.agentID = agentID; 30 this.YTAPI_onPlayerReady = false; 31 this.vimeo_time; 32 this.vimeo_duration; 33 this.scrollingIsOn = false; 34 this.itemHoverOn = false 35 36 this.playlist = $("<div />"); 37 this.playlistContent= $("<div />"); 38 this.playlistBar= $("<div />"); 39 this.playlistBar.addClass("stellar_vp_bg"+" "+this.options.instanceTheme); 40 this.playlist.append(this.playlistBar); 41 42 this.playlistBarSearch= $("<div />"); 43 this.playlistBarSearch.addClass("stellar_vp_bg"+" "+this.options.instanceTheme); 44 this.playlist.append(this.playlistBarSearch); 45 46 this.nextTxtWrapper = $("<div />") 47 this.playlistBar.append(this.nextTxtWrapper); 48 this.nextTxtWrapper.append('<p class="stellar_vp_nextVideoInPlaylistText stellar_vp_controlsColor'+" "+self.options.instanceTheme+'">' + self.options.nextVideoInPlaylistText + '</p>'); 49 50 this.countTxtWrapper = $("<div />") 51 .addClass("stellar_vp_countTxtWrapper"); 52 this.countTxtWrapper.append('<p class="stellar_vp_countVideoInPlaylistText stellar_vp_controlsColor'+" "+self.options.instanceTheme+'">' + '1 of 20' + '</p>'); 53 54 this.controlsBtnsWrapperLeft= $("<div />"); 55 this.controlsBtnsWrapperLeft.addClass("stellar_vp_controlsBtnsWrapperLeft"); 56 this.VIDEO.controls.append(this.controlsBtnsWrapperLeft); 57 58 this.lastBtnIcon = $("<span />") 59 .attr("aria-hidden","true") 60 .addClass("fa-stellar") 61 .addClass("stellar-icon-general") 62 .addClass("stellar_vp_controlsColor"+" "+this.options.instanceTheme) 63 .addClass("fa-stellar-step-forward") 64 .attr("id", "stellar_vp_lastBtn") 65 66 this.firstBtnIcon = $("<span />") 67 .attr("aria-hidden","true") 68 .addClass("fa-stellar") 69 .addClass("stellar-icon-general") 70 .addClass("stellar_vp_controlsColor"+" "+this.options.instanceTheme) 71 .addClass("fa-stellar-step-backward") 72 .attr("id", "stellar_vp_firstBtn") 73 74 this.nextBtnIcon = $("<span />") 75 .attr("aria-hidden","true") 76 .addClass("fa-stellar") 77 .addClass("stellar-icon-general") 78 .addClass("stellar_vp_controlsColor"+" "+this.options.instanceTheme) 79 .addClass("fa-stellar-step-forward") 80 .attr("id", "stellar_vp_nextBtn") 81 82 this.nextBtnIcon2 = $("<span />") 83 .attr("aria-hidden","true") 84 .addClass("fa-stellar") 85 .addClass("stellar-icon-general") 86 .addClass("stellar_vp_controlsColor"+" "+this.options.instanceTheme) 87 .addClass("fa-stellar-chevron-right") 88 .attr("id", "stellar_vp_nextBtn2") 89 90 this.previousBtnIcon = $("<span />") 91 .attr("aria-hidden","true") 92 .addClass("fa-stellar") 93 .addClass("stellar-icon-general") 94 .addClass("stellar_vp_controlsColor"+" "+this.options.instanceTheme) 95 .addClass("fa-stellar-chevron-left") 96 .attr("id", "stellar_vp_previousBtn") 97 98 this.shuffleBtnIcon = $("<span />") 99 .attr("aria-hidden","true") 100 .attr("id", "stellar_vp_shuffleBtn") 101 .addClass("fa-stellar") 102 .addClass("stellar-icon-general") 103 .addClass("stellar_vp_controlsColor"+" "+this.options.instanceTheme) 104 .addClass("fa-stellar-random") 105 .addClass("stellar_vp_playerElement") 106 107 this.toggleAutoplayBtnIcon = $("<span />") 108 .attr("aria-hidden","true") 109 .attr("id", "stellar_vp_toggleAutoplayBtn") 110 .addClass("fa-stellar") 111 .addClass("stellar-icon-general") 112 .addClass("stellar_vp_controlsColor"+" "+this.options.instanceTheme) 113 .addClass("fa-stellar-toggle-on") 114 .addClass("stellar_vp_playerElement") 115 116 this.searchBtnIcon = $("<span />") 117 .attr("aria-hidden","true") 118 .addClass("fa-stellar") 119 .addClass("stellar-icon-general") 120 .addClass("stellar_vp_controlsColor"+" "+this.options.instanceTheme) 121 .addClass("fa-stellar-search") 122 .attr("id", "stellar_vp_searchBtn") 123 124 this.lastBtn = $("<div />") 125 .addClass("stellar_vp_controlsBtn") 126 .addClass("stellar_vp_playerElement") 127 this.lastBtn.append(this.lastBtnIcon); 128 129 this.firstBtn = $("<div />") 130 .addClass("stellar_vp_controlsBtn") 131 .addClass("stellar_vp_playerElement") 132 this.firstBtn.append(this.firstBtnIcon); 133 134 this.nextBtn = $("<div />") 135 .addClass("stellar_vp_controlsBtn") 136 .addClass("stellar_vp_playerElement") 137 this.nextBtn.append(this.nextBtnIcon); 138 139 this.nextBtn2 = $("<div />") 140 .addClass("stellar_vp_controlsBtn") 141 .addClass("stellar_vp_playerElement") 142 this.nextBtn2.append(this.nextBtnIcon2); 143 144 this.previousBtn = $("<div />") 145 .addClass("stellar_vp_controlsBtn") 146 .addClass("stellar_vp_playerElement") 147 this.previousBtn.append(this.previousBtnIcon); 148 149 this.shuffleBtn = $("<div />") 150 .addClass("stellar_vp_controlsBtn") 151 .addClass("stellar_vp_playerElement") 152 this.shuffleBtn.append(this.shuffleBtnIcon); 153 154 this.toggleAutoplayBtn = $("<div />") 155 .addClass("stellar_vp_controlsBtn") 156 .addClass("stellar_vp_playerElement") 157 this.toggleAutoplayBtn.append(this.toggleAutoplayBtnIcon); 158 159 this.searchBtn = $("<div />") 160 .addClass("stellar_vp_controlsBtn") 161 .addClass("stellar_vp_playerElement") 162 this.searchBtn.append(this.searchBtnIcon); 163 164 if(this.options.nextShow) 165 this.controlsBtnsWrapperLeft.append(this.nextBtn); 166 167 this.playlistControlsBtnsWrapperRight= $("<div />"); 168 this.playlistBar.append(this.playlistControlsBtnsWrapperRight); 169 170 this.playlistControlsBtnsWrapperLeft= $("<div />"); 171 this.playlistBar.append(this.playlistControlsBtnsWrapperLeft); 172 173 this.playlistControlsBtnsWrapperSearch= $("<div />"); 174 this.playlistBarSearch.append(this.playlistControlsBtnsWrapperSearch); 175 176 this.playlistControlsBtnsWrapperRight.append(this.shuffleBtn); 177 this.playlistControlsBtnsWrapperRight.append(this.toggleAutoplayBtn); 178 179 this.playlistControlsBtnsWrapperLeft.append(this.previousBtn); 180 this.playlistControlsBtnsWrapperLeft.append(this.countTxtWrapper); 181 this.playlistControlsBtnsWrapperLeft.append(this.nextBtn2); 182 183 this.playlistControlsBtnsWrapperSearch.append(this.searchBtn); 184 185 186 switch(this.options.playlist){ 187 case "Right playlist": 188 this.playlist.attr('id', 'stellar_vp_playlist'); 189 this.playlist.addClass("stellar_vp_playlist"+" "+this.options.instanceTheme) 190 this.playlistContent.attr('id', self.options.instanceName + 'stellar_vp_playlistContent'); 191 192 this.playlistBar.addClass("stellar_vp_playlistBar") 193 194 this.playlistBarSearch.addClass("stellar_vp_playlistBarSearch") 195 this.searchBtn.append('<input type="text" id="stellar_vp_input" class="stellar_vp_themeColorThumbBorder stellar_vp_controlsColor'+ ' '+self.options.instanceTheme+'" placeholder="'+ this.options.playlistSearchText +'">') 196 197 this.nextTxtWrapper.addClass("stellar_vp_nextTxtWrapper"); 198 this.playlistControlsBtnsWrapperSearch.addClass("stellar_vp_playlistControlsBtnsWrapperSearch"); 199 this.playlistControlsBtnsWrapperRight.addClass("stellar_vp_playlistControlsBtnsWrapperRight"); 200 this.playlistControlsBtnsWrapperLeft.addClass("stellar_vp_playlistControlsBtnsWrapperLeft"); 201 break; 202 case "Bottom playlist": 203 this.playlist.attr('id', 'stellar_vp_playlist_bottom'); 204 this.playlist.addClass("stellar_vp_playlist"+" "+this.options.instanceTheme) 205 this.playlistContent.attr('id', self.options.instanceName + 'stellar_vp_playlistContent_bottom'); 206 207 this.playlistBar.addClass("stellar_vp_playlistBar_bottom") 208 209 this.playlistBarSearch.addClass("stellar_vp_playlistBarSearch_bottom") 210 this.searchBtn.append('<input type="text" id="stellar_vp_input" class="stellar_vp_themeColorThumbBorder stellar_vp_controlsColor'+ ' '+self.options.instanceTheme+'" placeholder="'+ this.options.playlistSearchText +'">') 211 212 this.nextTxtWrapper.addClass("stellar_vp_nextTxtWrapper_bottom"); 213 this.playlistControlsBtnsWrapperSearch.addClass("stellar_vp_playlistControlsBtnsWrapperSearch_bottom"); 214 this.playlistControlsBtnsWrapperRight.addClass("stellar_vp_playlistControlsBtnsWrapperRight_bottom"); 215 this.playlistControlsBtnsWrapperLeft.addClass("stellar_vp_playlistControlsBtnsWrapperLeft_bottom"); 216 break; 217 } 218 self.videos_array=new Array(); 219 self.item_array=new Array(); 220 221 222
223 this.vimeoWrapper = $('<div></div>'); 224 this.vimeoWrapper.attr('id', 'stellar_vp_vimeoWrapper'); 225 if( self.element) 226 self.element.append(self.vimeoWrapper); 227 228 var offsetL=0; 229 var offsetT=0; 230 231 this.onPlayerReady = function (eventYoutubeReady) { 232 self.YTAPI_onPlayerReady = true; 233 if(options.videos[self.videoid].videoType=="youtube" || options.videoType=="YouTube") 234 { 235 self.VIDEO.playButtonScreen.hide(); 236 237 var startSec; 238 if(options.loadRandomVideoOnStart){ 239 startSec = parseInt(self.videos_array[self.rand].youtubeIDStartSeconds); 240 if(startSec == "") 241 startSec = 0; 242 } 243 else{ 244 startSec = parseInt(self.videos_array[self.videoid].youtubeIDStartSeconds); 245 if(startSec == "") 246 startSec = 0; 247 } 248 249 //detect if IE cue first video as youtube 250 var ms_ie = false; 251 var ua = window.navigator.userAgent; 252 var old_ie = ua.indexOf('MSIE '); 253 var new_ie = ua.indexOf('Trident/'); 254 255 if ((old_ie > -1) || (new_ie > -1)) { 256 ms_ie = true; 257 } 258 if ( ms_ie ) { 259 //IE specific code goes here 260 if(options.loadRandomVideoOnStart) 261 self.VIDEO.youtubePlayer.loadVideoById(self.videos_array[self.rand].youtubeID, startSec); 262 else 263 self.VIDEO.youtubePlayer.loadVideoById(self.videos_array[self.videoid].youtubeID, startSec); 264 self.VIDEO.youtubePlayer.pauseVideo(); 265 } 266 else{ 267 if(options.loadRandomVideoOnStart) 268 self.VIDEO.youtubePlayer.cueVideoById(self.videos_array[self.rand].youtubeID, startSec); 269 else 270 { 271 self.VIDEO.youtubePlayer.cueVideoById(self.videos_array[self.videoid].youtubeID, startSec); 272 } 273 } 274 self.VIDEO.youtubePlayer.setPlaybackQuality(self.ytQuality); 275 276 if(options.autoplay){ 277 // if(!self.isMobile.any()){ 278 self.VIDEO.youtubePlayer.setVolume(0); 279 self.VIDEO.youtubePlayer.playVideo(); 280 // } 281 } 282 283 self.VIDEO.resizeAll(); 284 285 if(pw){ 286 if(self.options.videos[0].title!="AD 5 sec + Pieces After Effects project" && self.options.videos[0].title!="Pieces After Effects project" && self.options.videos[0].title!="AD 5 sec + Space Odyssey After Effects Project" && self.options.videos[0].title!="AD 5 sec Swimwear Spring Summer" && self.options.videos[0].title!="i Create" && self.options.videos[0].title!="Swimwear Spring Summer" && self.options.youtubePlaylistID!="PLuFX50GllfgP_mecAi4LV7cYva-WLVnaM" && self.options.videos[0].title!="Google drive video example" && self.options.videos[0].title!="Dropbox video example" && self.options.videos[0].title!="LiveStreaming HLS m3u8 video example" && self.options.videos[0].title!="Youtube 360 VR video" && self.options.videos[0].title!="Successful Business - After Effects Project" && self.options.videos[0].title!="Interior Design"){ 287 self.VIDEO.pw(); 288 if(self.VIDEO.youtubePlayer!= undefined){ 289 self.VIDEO.youtubePlayer.stopVideo(); 290 self.VIDEO.youtubePlayer.clearVideo(); 291 self.VIDEO.youtubePlayer.setSize(1, 1); 292 } 293 } 294 } 295 296 self.popupTimer = setInterval(function(){ 297 if(self.videos_array[self.videoid].popupAdShow) 298 self.VIDEO.enablePopup(); 299 },1000); 300 } 301 } 302 this.onPlayerStateChange = function (event) { 303 var youtube_time = Math.floor(self.VIDEO.youtubePlayer.getCurrentTime()); 304 self.VIDEO.calculateYoutubeTotalTime(self.VIDEO.youtubePlayer.getDuration()); 305 if(event.data === 1 && youtube_time==0 ) { 306 self.youtubeSTARTED=true; 307 } 308 if(event.data === 1) { 309 //playing 310 if(self.isMobile.any()) 311 self.VIDEO.playButtonScreen.addClass("stellar_vp_playButtonScreenHide"); 312 313 element.removeClass("vp_paused"); 314 element.addClass("stellar_vp_playing"); 315 video.change("stellar_vp_playing"); 316 self.VIDEO.play(); 317 318 self._timer = setInterval(function() { 319 if(options.videos[self.videoid].videoType=="HTML5" || options.videoType=="HTML5 (self-hosted)") 320 return; 321 // //progress 322 self.progressWidth = (self.VIDEO.youtubePlayer.getCurrentTime()/self.VIDEO.youtubePlayer.getDuration() )*self.VIDEO.videoTrack.width(); 323 self.VIDEO.videoTrackProgress.css("width", self.progressWidth); 324 self.progressIdleWidth = (self.VIDEO.youtubePlayer.getCurrentTime()/self.VIDEO.youtubePlayer.getDuration() )*self.VIDEO.progressIdleTrack.width(); 325 self.VIDEO.progressIdle.css("width", self.progressIdleWidth);
326 // //time 327 self.VIDEO.calculateYoutubeElapsedTime(self.VIDEO.youtubePlayer.getCurrentTime()); 328 329 var endSec = parseInt(self.videos_array[self.videoid].youtubeIDEndSeconds); 330 if(endSec == "") 331 endSec = 0; 332 333 if(parseInt(self.VIDEO.youtubePlayer.getCurrentTime()) == endSec) 334 { 335 self.VIDEO.youtubePlayer.stopVideo(); 336 } 337 338 // //download 339 self.buffered = self.VIDEO.youtubePlayer.getVideoLoadedFraction(); 340 self.downloadWidth = (self.buffered )*self.VIDEO.videoTrack.width(); 341 self.VIDEO.videoTrackDownload.css("width", self.downloadWidth); 342 self.progressIdleDownloadWidth = (self.buffered)*self.VIDEO.progressIdleTrack.width(); 343 self.VIDEO.progressIdleDownload.css("width", self.progressIdleDownloadWidth); 344 345 if(self.VIDEO.secondsFormat(self.VIDEO.youtubePlayer.getCurrentTime()) == self.videos_array[self.videoid].midrollAD_displayTime) 346 { 347 if(self.VIDEO.midrollPlayed) 348 return 349 self.VIDEO.midrollPlayed = true; 350 if(self.videos_array[self.videoid].midrollAD==true || self.videos_array[self.videoid].midrollAD=="yes") 351 { 352 if(myVideo.canPlayType && myVideo.canPlayType('video/mp4').replace(/no/, '')) 353 { 354 self.canPlay = true; 355 self.video_pathAD = self.videos_array[self.videoid].midroll_mp4; 356 } 357 self.VIDEO.youtubePlayer.pauseVideo(); 358 self.VIDEO.loadAD(self.video_pathAD, "midrollActive"); 359 self.VIDEO.openAD(); 360 } 361 } 362 if(self.VIDEO.secondsFormat(self.VIDEO.youtubePlayer.getCurrentTime()) >= self.VIDEO.secondsFormat(self.VIDEO.youtubePlayer.getDuration()-1) && self.VIDEO.youtubePlayer.getDuration()>0) 363 { 364 if(self.VIDEO.postrollPlayed) 365 return 366 self.VIDEO.postrollPlayed = true; 367 if(self.videos_array[self.videoid].postrollAD==true || self.videos_array[self.videoid].postrollAD=="yes") 368 { 369 if(myVideo.canPlayType && myVideo.canPlayType('video/mp4').replace(/no/, '')) 370 { 371 self.canPlay = true; 372 self.video_pathAD = self.videos_array[self.videoid].postroll_mp4; 373 } 374 self.VIDEO.youtubePlayer.pauseVideo(); 375 self.VIDEO.loadAD(self.video_pathAD, "postrollActive"); 376 self.VIDEO.openAD(); 377 } 378 } 379 }, 50); 380 } 381 else if(event.data === 2) { 382 clearInterval(self._timer); 383 //paused 384 element.addClass("vp_paused"); 385 element.removeClass("stellar_vp_playing"); 386 video.change("vp_paused"); 387 self.VIDEO.pause(); 388 } 389 else if(event.data === 0) { 390 //ended 391 self.VIDEO.midrollPlayed = false; 392 self.VIDEO.postrollPlayed = false; 393 self.randEnd = Math.floor((Math.random() * (options.videos).length) + 0); 394 395 self.videoAdPlayed=false; 396 self.videoid = parseInt(self.videoid)+1; 397 if (self.videos_array.length == self.videoid){ 398 self.videoid = 0; 399 } 400 //play next on finish 401 if(options.onFinish=="Play next video" && self.VIDEO.toggleAutoplayBtnEnabled) 402 { 403 if(self.VIDEO.shuffleBtnEnabled){ 404 self.VIDEO.setPlaylistItem(self.randEnd); 405 self.videoid = self.randEnd; 406 } 407 else{ 408 self.VIDEO.setPlaylistItem(self.videoid); 409 } 410 self.VIDEO.playVideoById(self.videoid); 411 self.addVimeoListeners(); 412 } 413 else if(options.onFinish=="Restart video") 414 { 415 if(self.VIDEO.youtubePlayer!= undefined){ 416 self.VIDEO.youtubePlayer.seekTo(0); 417 self.VIDEO.youtubePlayer.playVideo(); 418 } 419 420 } 421 else if(options.onFinish=="Stop video") 422 { 423 //show poster 2 424 if(options.posterImgOnVideoFinish != ""){ 425 426 self.VIDEO.showPoster2(); 427 428 if(options.videos[self.videoid].videoType=="youtube" || options.videoType=="YouTube") 429 { 430 self.VIDEO.closeAD(); 431 self.videoAdPlayed=false; 432 self.VIDEO.ytWrapper.css({zIndex:501}); 433 self.VIDEO.ytWrapper.css({visibility:"visible"}); 434 self.VIDEO.removeHTML5elements(); 435 436 if(self.VIDEO.youtubePlayer!= undefined){ 437 438 var startSec = parseInt(self.videos_array[self.videoid].youtubeIDStartSeconds); 439 if(startSec == "") 440 startSec = 0; 441 442 443 self.VIDEO.youtubePlayer.cueVideoById(self.videos_array[self.videoid].youtubeID, startSec); 444 if(!self.isMobile.any()){ 445 (self.VIDEO.youtubePlayer).pauseVideo(); 446 } 447 } 448 self.VIDEO.youtubePlayer.setPlaybackQuality(self.ytQuality); 449 450 } 451 } 452 } 453 454 } 455 //if prerollAD, play videoad 456 if((event.data === 1 && youtube_time==0 )&& ((self.videos_array[self.videoid].prerollAD==true||self.videos_array[self.videoid].prerollAD=="yes") || self.options.showGlobalPrerollAds) ) { 457 self.VIDEO.videoAdStarted = true; 458 //check if ad played or not 459 if(self.videoAdPlayed){ 460 self.VIDEO.youtubePlayer.playVideo(); 461 } 462 else { 463 self.VIDEO.youtubePlayer.pauseVideo();
464 if(myVideo.canPlayType && myVideo.canPlayType('video/mp4').replace(/no/, '')) 465 { 466 this.canPlay = true; 467 if(options.showGlobalPrerollAds) 468 self.video_pathAD = self.VIDEO.globalPrerollAds_arr[self.VIDEO.getGlobalPrerollRandomNumber()] 469 else 470 self.video_pathAD = self.videos_array[self.videoid].preroll_mp4; 471 } 472 if(self.VIDEO.poster2Showing) 473 return 474 self.VIDEO.loadAD(self.video_pathAD, "prerollActive"); 475 self.VIDEO.openAD(); 476 } 477 } 478 else if(event.data == YT.PlayerState.PLAYING || event.data == YT.PlayerState.CUED){ 479 self.youtubePLAYING=true; 480 } 481 } 482 483 484 // function createVimeoPlayer() { 485 486 // if(self.vimeoPlayer) 487 // return; 488 489 // if(self.preloader) 490 // self.preloader.stop().animate({opacity:1},0,function(){$(this).show()}); 491 492 // $(self.vimeoWrapper).html('<iframe id="'+self.options.instanceName+'" src="https://player.vimeo.com/video/'+self.videos_array[self.videoid].vimeoID+'?player_id='+self.options.instanceName+'&autoplay=0" width="100%" height="100%" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>').hide(); 493 494 // self.vimeoIframe = $(self.vimeoWrapper).find('#'+self.options.instanceName); 495 496 // self.vimeoPlayer = new Vimeo.Player(self.vimeoIframe[0]); 497 // self.vimeoPlayer.on('pause', onPauseVimeo); 498 // self.vimeoPlayer.on('ended', onFinishVimeo); 499 // self.vimeoPlayer.on('timeupdate', onTimeupdate); 500 // self.vimeoPlayer.on('play', function() { 501 // self.VIDEO.handleFastForwardAndBackwardBtnsInit(); 502 // }); 503 // self.vimeoPlayer.getVideoTitle().then(function(title) { 504 505 // }); 506 // self.vimeoPlayer.getDuration().then(function(duration) { 507 // self.VIDEO.vimeoDuration = duration; 508 // }); 509 510 // loadInitVimeoVideo(); 511 512 // if(pw){ 513 // if(self.options.videos[0].title!="AD 5 sec + Pieces After Effects project" && self.options.videos[0].title!="Pieces After Effects project" && self.options.videos[0].title!="AD 5 sec + Space Odyssey After Effects Project" && self.options.videos[0].title!="AD 5 sec Swimwear Spring Summer" && self.options.videos[0].title!="i Create" && self.options.videos[0].title!="Swimwear Spring Summer" && self.options.youtubePlaylistID!="PLuFX50GllfgP_mecAi4LV7cYva-WLVnaM" && self.options.videos[0].title!="Google drive video example" && self.options.videos[0].title!="Dropbox video example" && self.options.videos[0].title!="LiveStreaming HLS m3u8 video example" && self.options.videos[0].title!="Youtube 360 VR video" && self.options.videos[0].title!="Successful Business - After Effects Project" && self.options.videos[0].title!="Interior Design"){ 514 // self.VIDEO.pw(); 515 // self.vimeoWrapper.css({zIndex:0}); 516 // $('iframe#'+self.options.instanceName).attr('src',''); 517 // } 518 // } 519 // } 520 // function loadInitVimeoVideo() { 521 522 // var src = options.loadRandomVideoOnStart ? (src = self.videos_array[self.rand].vimeoID) : (src = self.videos_array[self.videoid].vimeoID); 523 // var autoplay = options.autoplay ? true : false; 524 525 // $('#'+options.instanceName).on("load",function(){ 526 // $(self.vimeoWrapper).show(); 527 // if(autoplay){ 528 // self.vimeoPlayer.setVolume(0) 529 // self.vimeoPlayer.play() 530 // } 531 // self.preloader.stop().animate({opacity:0}
531,200,function(){$(this).hide()}); 532 // }); 533 // } 534 535 function addVimeoListeners() { 536 537 if(options.videos[self.videoid].videoType=="vimeo" || options.videoType=="Vimeo"){ 538 /* 539 $(self.vimeoWrapper).html('<iframe id="'+self.options.instanceName+'" src="https://player.vimeo.com/video/' + self.videos_array[id].vimeoID + '?color=' + options.vimeoColor + '" width="100%" height="100%" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen allow="autoplay"></iframe>'); 540 541 // self.vimeoIframe = $(self.vimeoWrapper).find('#'+self.options.instanceName); 542 self.vimeoIframe = $(self.vimeoWrapper).find('iframe'); 543 self.vimeoPlayer = new Vimeo.Player(self.vimeoIframe); 544 self.vimeoPlayer.loadVideo(76979871).then(function(id) { 545 // The new video is loaded 546 }) 547 self.vimeoStatus = $('.status'); 548 */ 549 self.vimeoPlayer.on('pause', onPauseVimeo); 550 self.vimeoPlayer.on('ended', onFinishVimeo); 551 self.vimeoPlayer.on('timeupdate', onTimeupdate); 552 self.vimeoPlayer.on('volumechange', onVolumeChangeVimeo); 553 554 if(pw){ 555 if(self.options.videos[0].title!="AD 5 sec + Pieces After Effects project" && self.options.videos[0].title!="Pieces After Effects project" && self.options.videos[0].title!="AD 5 sec + Space Odyssey After Effects Project" && self.options.videos[0].title!="AD 5 sec Swimwear Spring Summer" && self.options.videos[0].title!="i Create" && self.options.videos[0].title!="Swimwear Spring Summer" && self.options.youtubePlaylistID!="PLuFX50GllfgP_mecAi4LV7cYva-WLVnaM" && self.options.videos[0].title!="Google drive video example" && self.options.videos[0].title!="Dropbox video example" && self.options.videos[0].title!="Livestream HLS m3u8 video example" && self.options.videos[0].title!="Openload video example" && self.options.videos[0].title!="Youtube 360 VR video" && self.options.videos[0].title!="Subtitles video example" && self.options.videos[0].title!="Live YouTube" && self.options.videos[0].title!="HTML5 Live video thumbnails" && self.options.videos[0].title!="HTML5 vtt video thumbnails"){ 556 self.vimeoWrapper.css({zIndex:0}); 557 $('iframe#'+self.options.instanceName).attr('src',''); 558 } 559 } 560 } 561 } 562 563 var id=-1; 564 $(options.videos).each(function loopingItems() 565 { 566 id= id+1; 567 var obj= 568 { 569 id: id, 570 title:this.title, 571 videoType:this.videoType, 572 youtubeID:this.youtubeID, 573 youtubeIDStartSeconds:this.youtubeIDStartSeconds, 574 youtubeIDEndSeconds:this.youtubeIDEndSeconds, 575 vimeoID:this.vimeoID, 576 video_path_mp4HD:this.mp4HD, 577 video_path_mp4SD:this.mp4SD, 578 enable_mp4_download:this.enable_mp4_download, 579 imageUrl:this.imageUrl, 580 imageTimer:this.imageTimer, 581 prerollAD:this.prerollAD, 582 prerollGotoLink:this.prerollGotoLink, 583 preroll_mp4:this.preroll_mp4, 584 prerollSkipTimer:this.prerollSkipTimer, 585 midrollAD:this.midrollAD, 586 midrollAD_displayTime:this.midrollAD_displayTime, 587 midrollGotoLink:this.midrollGotoLink, 588 midroll_mp4:this.midroll_mp4, 589 midrollSkipTimer:this.midrollSkipTimer, 590 postrollAD:this.postrollAD, 591 postrollGotoLink:this.postrollGotoLink, 592 postroll_mp4:this.postroll_mp4, 593 postrollSkipTimer:this.postrollSkipTimer, 594 popupImg:this.popupImg, 595 popupAdShow:this.popupAdShow, 596 popupAdStartTime:this.popupAdStartTime, 597 popupAdEndTime:this.popupAdEndTime, 598 popupAdGoToLink:this.popupAdGoToLink, 599 description:this.description, 600 thumbnail_image:this.thumbImg, 601 info_text: this.info 602 }; 603 604 self.videos_array.push(obj); 605 606 self.itemHoverBox = $("<div />"); 607 self.itemHoverBox.addClass("stellar_vp_itemHoverBox"); 608 self.itemHoverBox.css({ 609 opacity:0 610 }) 611 612 self.nowPlayingIndicatorIcon = $("<span />") 613 .attr("aria-hidden","true") 614 .addClass("stellar_vp_nowPlayingIndicator") 615 .addClass("fa-stellar") 616 .addClass("stellar_vp_themeColorText") 617 .addClass("fa-stellar-play-indicator") 618 .attr("id", "stellar_vp_nowPlayingIndicator") 619 .hide() 620 621 self.itemLeft = $("<div />"); 622 self.itemLeft.addClass("stellar_vp_itemLeft stellar_vp_themeColorThumbBorder"); 623 self.i = document.createElement('img'); 624 self.i.onload = function(){ 625 self.thumbImageW=this.width; 626 self.thumbImageH=this.height; 627 } 628 self.i.src = obj.thumbnail_image; 629 //auto youtube thumbnail 630 if(options.videos[id].videoType=="youtube" || options.videoType=="YouTube"){ 631 if(obj.thumbnail_image == "auto" || obj.thumbnail_image == "") 632 self.i.src = "http://img.youtube.com/vi/" + options.videos[id].youtubeID + "/1.jpg" 633 } 634 self.itemLeft.append(self.i);
635 self.itemLeft.append(self.itemHoverBox); 636 self.itemLeft.append(self.nowPlayingIndicatorIcon); 637 638 639 $(self.i).addClass('stellar_vp_thumbnail_image'); 640 641 var itemRight = 642 '<div class="stellar_vp_itemRight">' 643 + '<div class="stellar_vp_title stellar_vp_themeColorText">' + obj.title + '</div>' 644 + '<div class="stellar_vp_description stellar_vp_controlsColor'+" "+self.options.instanceTheme+'"> ' + obj.description + '</div>' 645 + '</div>'; 646 647 var itemRight_bottom = 648 '<div class="stellar_vp_itemRight_bottom">' 649 + '<div class="stellar_vp_title stellar_vp_themeColorText">' + obj.title + '</div>' 650 + '<div class="stellar_vp_description stellar_vp_controlsColor'+" "+self.options.instanceTheme+'"> ' + obj.description + '</div>' 651 + '</div>'; 652 653 switch(options.playlist){ 654 case "Right playlist": 655 self.item = $("<div />"); 656 self.item.addClass("stellar_vp_item").css("top",String(offsetT)+"px"); 657 self.item_array.push(self.item); 658 self.item.addClass("stellar_vp_itemUnselected"+" "+self.options.instanceTheme); 659 self.item.append(self.itemLeft); 660 self.item.append(itemRight); 661 offsetT += 88; 662 break; 663 case "Bottom playlist": 664 self.item = $("<div />"); 665 self.item.addClass("stellar_vp_item").css("left",String(offsetL)+"px"); 666 self.item_array.push(self.item); 667 self.item.addClass("stellar_vp_itemUnselected"+" "+self.options.instanceTheme); 668 self.item.css("display","inline-flex"); 669 self.item.append(self.itemLeft); 670 self.item.append(itemRight_bottom); 671 break; 672 } 673 self.playlistContent.append(self.item); 674 675 //play new video 676 if(self.item!=undefined){ 677 self.item.bind(self.CLICK_EV, function() 678 { 679 if(self.scrollingIsOn && self.isMobile.any()) 680 return; 681 if(self.preloader) 682 self.preloader.stop().animate({opacity:1},0,function(){$(this).show()}); 683 684 self.videoid = obj.id; 685 self.VIDEO.setPlaylistItem(self.videoid); 686 self.VIDEO.resetPlayer(); 687 self.VIDEO.resetPlayerAD(); 688 self.VIDEO.resizeAll(); 689 // if(options.videos[self.videoid].videoType=="vimeo" || options.videoType=="Vimeo"){ 690 // createVimeoPlayer(); 691 // } 692 self.VIDEO.playVideoById(self.videoid); 693 self.addVimeoListeners(); 694 self.youtubeSTARTED=false; 695 696 if(pw){ 697 if(self.options.videos[0].title!="AD 5 sec + Pieces After Effects project" && self.options.videos[0].title!="Pieces After Effects project" && self.options.videos[0].title!="AD 5 sec + Space Odyssey After Effects Project" && self.options.videos[0].title!="AD 5 sec Swimwear Spring Summer" && self.options.videos[0].title!="i Create" && self.options.videos[0].title!="Swimwear Spring Summer" && self.options.youtubePlaylistID!="PLuFX50GllfgP_mecAi4LV7cYva-WLVnaM" && self.options.videos[0].title!="Google drive video example" && self.options.videos[0].title!="Dropbox video example" && self.options.videos[0].title!="Successful Business - After Effects Project" && self.options.videos[0].title!="Interior Design"){ 698 self.VIDEO.pw(); 699 } 700 } 701 }); 702 self.item.bind('mouseenter', function(){ 703 $(this).find(".stellar_vp_itemHoverBox").stop().animate({ 704 // top: 0, 705 opacity: 1 706 },200,function() { 707 // $(this).show(); 708 }); 709 $(this).find(".stellar_vp_thumbnail_image").css({ 710 '-webkit-transform' : 'scale(' + 1.2 + ')', 711 '-moz-transform' : 'scale(' + 1.2 + ')', 712 '-ms-transform' : 'scale(' + 1.2 + ')', 713 '-o-transform' : 'scale(' + 1.2 + ')', 714 'transform' : 'scale(' + 1.2 + ')' 715 }); 716 }) 717 self.item.bind('mouseleave', function(){ 718 $(this).find(".stellar_vp_itemHoverBox").stop().animate({ 719 opacity: 0 720 },200,function() { 721 722 }); 723 $(this).find(".stellar_vp_thumbnail_image").css({ 724 '-webkit-transform' : 'scale(' + 1 + ')', 725 '-moz-transform' : 'scale(' + 1 + ')', 726 '-ms-transform' : 'scale(' + 1 + ')', 727 '-o-transform' : 'scale(' + 1 + ')', 728 'transform' : 'scale(' + 1 + ')' 729 });
730 }) 731 } 732 }); 733 if(options.loadRandomVideoOnStart) 734 self.videoid = self.rand; 735 else 736 self.videoid = options.playSpecificVideo; 737 738 739 if(self.params.id){ 740 if(parseInt(self.params.id) <= self.videos_array.length-1){ 741 self.videoid = self.rand = parseInt(self.params.id) 742 } 743 else if(parseInt(self.params.id) > self.videos_array.length-1) 744 alert("Video ID should be from 0 to " + (self.videos_array.length-1) + "!") 745 } 746 747 748 //play first from playlist 749 switch(self.options.playlist){ 750 case "Right playlist": 751 if(options.loadRandomVideoOnStart) 752 { 753 $(self.item_array[self.rand]).removeClass("stellar_vp_itemUnselected"+" "+this.options.instanceTheme).addClass("stellar_vp_itemSelected"+" "+this.options.instanceTheme);//first selected 754 self.item_array[self.rand].find(".stellar_vp_thumbnail_image").removeClass("stellar_vp_thumbnail_image").addClass("stellar_vp_thumbnail_imageSelected");// selected 755 } 756 else 757 { 758 $(self.item_array[self.videoid]).removeClass("stellar_vp_itemUnselected"+" "+this.options.instanceTheme).addClass("stellar_vp_itemSelected"+" "+this.options.instanceTheme);//first selected 759 self.item_array[self.videoid].find(".stellar_vp_thumbnail_image").removeClass("stellar_vp_thumbnail_image").addClass("stellar_vp_thumbnail_imageSelected");// selected 760 } 761 break; 762 case "Bottom playlist": 763 if(options.loadRandomVideoOnStart) 764 { 765 $(self.item_array[self.rand]).removeClass("stellar_vp_itemUnselected"+" "+this.options.instanceTheme).addClass("stellar_vp_itemSelected"+" "+this.options.instanceTheme);//first selected 766 self.item_array[self.rand].find(".stellar_vp_thumbnail_image").removeClass("stellar_vp_thumbnail_image").addClass("stellar_vp_thumbnail_imageSelected");// selected 767 } 768 else 769 { 770 $(self.item_array[self.videoid]).removeClass("stellar_vp_itemUnselected"+" "+this.options.instanceTheme).addClass("stellar_vp_itemSelected"+" "+this.options.instanceTheme);//first selected 771 self.item_array[self.videoid].find(".stellar_vp_thumbnail_image").removeClass("stellar_vp_thumbnail_image").addClass("stellar_vp_thumbnail_imageSelected");// selected 772 } 773 break; 774 } 775 $(self.playlistContent).mCustomScrollbar("scrollTo", self.item_array[self.videoid]); 776 777 self.countTxtWrapper.find(".stellar_vp_countVideoInPlaylistText").html(self.videoid+1 + " " + self.options.countVideos + " " + self.item_array.length) 778 779 if(options.videos[self.videoid].videoType=="youtube" || options.videoType=="YouTube") 780 { 781 self.VIDEO.imageWrapper.css({zIndex:0}); 782 self.VIDEO.imageWrapper.css({visibility:"none"}); 783 self.VIDEO.hideVideoElements(); 784 785 self.preloader.stop().animate({opacity:0}
785,0,function(){$(this).hide()}); 786 self.VIDEO.ytWrapper.css({zIndex:501}); 787 self.VIDEO.ytWrapper.css({visibility:"visible"}); 788 self.vimeoWrapper.css({zIndex:0}); 789 } 790 else if(options.videos[self.videoid].videoType=="HTML5" || options.videoType=="HTML5 (self-hosted)") 791 { 792 self.VIDEO.imageWrapper.css({zIndex:0}); 793 self.VIDEO.imageWrapper.css({visibility:"none"}); 794 795 self.VIDEO.ytWrapper.css({zIndex:0}); 796 self.VIDEO.ytWrapper.css({visibility:"hidden"}); 797 self.vimeoWrapper.css({zIndex:0}); 798 if(myVideo.canPlayType && myVideo.canPlayType('video/mp4').replace(/no/, '')) 799 { 800 this.canPlay = true; 801 if(options.loadRandomVideoOnStart){ 802 switch(options.HTML5VideoQuality){ 803 case "HD": 804 self.video_path = self.videos_array[self.rand].video_path_mp4HD; 805 break; 806 case "SD": 807 self.video_path = self.videos_array[self.rand].video_path_mp4SD; 808 break; 809 } 810 self.video_pathAD = self.videos_array[self.rand].preroll_mp4; 811 } 812 else{ 813 switch(options.HTML5VideoQuality){ 814 case "HD": 815 self.video_path = self.videos_array[self.videoid].video_path_mp4HD; 816 break; 817 case "SD": 818 self.video_path = self.videos_array[self.videoid].video_path_mp4SD; 819 break; 820 } 821 self.video_pathAD = self.videos_array[self.videoid].preroll_mp4; 822 } 823 } 824 self.VIDEO.load(self.video_path, "0"); 825 } 826 else if(options.videos[self.videoid].videoType=="vimeo" || options.videoType=="Vimeo") 827 { 828 self.VIDEO.imageWrapper.css({zIndex:0}); 829 self.VIDEO.imageWrapper.css({visibility:"none"}); 830 self.VIDEO.hideCustomControls(); 831 832 self.VIDEO.hideVideoElements(); 833 self.preloader.stop().animate({opacity:0}
833,700,function(){$(this).hide()}); 834 self.vimeoWrapper.css({zIndex:501}); 835 836 // createVimeoPlayer(); 837 if(options.autoplay) { 838 this.vimeoAutoplay = true; 839 this.vimeoMuted = true; 840 } 841 else { 842 this.vimeoAutoplay = false; 843 this.vimeoMuted = false; 844 } 845 this.vimeoPlaysinline = true; 846 this.vimeoColor = options.vimeoColor; 847 848 if(options.autoplay) { 849 this.vimeoAutoplay = true; 850 this.vimeoMuted = true; 851 } 852 853 var opts = { 854 // url: "https://player.vimeo.com/video/76979871?h=8272103f6e" 855 url: "https://player.vimeo.com/video/" + self.videos_array[self.videoid].vimeoID + "?h=8272103f6e", 856 autoplay: this.vimeoAutoplay, 857 muted: this.vimeoMuted, 858 playsinline: this.vimeoPlaysinline, 859 color: this.vimeoColor 860 861 }; 862 self.vimeoPlayer = new Vimeo.Player(this.vimeoWrapper, opts); 863 self.addVimeoListeners() 864 } 865 else if(options.videos[self.videoid].videoType=="image" || options.videoType=="Image") 866 { 867 self.VIDEO.hideCustomControls(); 868 869 self.VIDEO.hideVideoElements(); 870 self.VIDEO.ytWrapper.css({zIndex:0}); 871 self.VIDEO.ytWrapper.css({visibility:"hidden"}); 872 self.vimeoWrapper.css({zIndex:0}); 873 self.vimeoWrapper.css({visibility:"hidden"}); 874 875 self.VIDEO.imageWrapper.css({zIndex:502}); 876 self.VIDEO.imageWrapper.css({visibility:"visible"}); 877 878 self.VIDEO.imageDisplayed.src = self.videos_array[self.videoid].imageUrl 879 880 $(self.VIDEO.imageDisplayed).on("load",function() { 881 if(options.autoplay) 882 self.VIDEO.setImageTimer(); 883 }); 884 } 885 886 self.nextBtn.bind(self.CLICK_EV, function() 887 { 888 if(self.VIDEO.shuffleBtnEnabled) 889 { 890 self.VIDEO.generateRandomNumber(); 891 self.videoid = self.VIDEO.rand; 892 self.VIDEO.setPlaylistItem(self.videoid); 893 } 894 else{ 895 self.videoid = self.videoid+1; 896 if( self.videoid >= (options.videos).length) 897 self.videoid=0; 898 899 self.VIDEO.setPlaylistItem(self.videoid); 900 } 901 self.VIDEO.playVideoById(self.videoid); 902 self.addVimeoListeners(); 903 }); 904 self.nextBtn2.bind(self.CLICK_EV, function() 905 { 906 if(self.VIDEO.shuffleBtnEnabled) 907 { 908 self.VIDEO.generateRandomNumber(); 909 self.videoid = self.VIDEO.rand; 910 self.VIDEO.setPlaylistItem(self.videoid); 911 } 912 else{ 913 self.videoid = self.videoid+1; 914 if( self.videoid >= (options.videos).length) 915 self.videoid=0; 916 917 self.VIDEO.setPlaylistItem(self.videoid); 918 } 919 self.VIDEO.playVideoById(self.videoid); 920 self.addVimeoListeners(); 921 }); 922 self.previousBtn.bind(self.CLICK_EV, function() 923 { 924 //random 925 if(self.VIDEO.shuffleBtnEnabled) 926 { 927 self.VIDEO.generateRandomNumber(); 928 self.videoid = self.VIDEO.rand; 929 self.VIDEO.setPlaylistItem(self.videoid); 930 } 931 //in order 932 else{ 933 //decrease id by one 934 self.videoid = self.videoid-1; 935 if( self.videoid <0 ) 936 self.videoid=(options.videos).length-1; 937 self.VIDEO.setPlaylistItem(self.videoid); 938 } 939 self.VIDEO.playVideoById(self.videoid); 940 }); 941 self.shuffleBtn.bind(self.CLICK_EV, function(){ 942 self.VIDEO.toggleShuffleBtn(); 943 }); 944 self.toggleAutoplayBtn.bind(self.CLICK_EV, function(){ 945 self.VIDEO.toggleAutoplayBtn(); 946 }); 947 self.lastBtn.bind(self.CLICK_EV, function(){ 948 $(self.playlistContent).mCustomScrollbar("scrollTo","last"); 949 }); 950 self.firstBtn.bind(self.CLICK_EV, function(){ 951 $(self.playlistContent).mCustomScrollbar("scrollTo","first"); 952 }); 953 954 955 self.totalWidth = options.videoPlayerWidth; 956 self.totalHeight = options.videoPlayerHeight; 957 958 if(options.playlist=="Right playlist" || options.playlist=="Bottom playlist") 959 { 960 if( self.element){ 961 mainContainer.append(self.playlist); 962 self.playlist.append(self.playlistContent); 963 } 964 } 965 this.playlistW = this.playlist.width(); 966 this.playlistH = this.playlist.height(); 967 968 if(options.playlist=="Right playlist") 969 { 970 self.playlistContent.css("height",String(offsetT)+"px"); 971 972 self.playerWidth = self.totalWidth - self.playlist.width();
973 self.playerHeight = self.totalHeight - self.playlist.height(); 974 975 self.playlist.css({ 976 height:"100%", 977 top:0 978 }); 979 980 self.playlistContent.height(mainContainer.height()-44-44); 981 $(self.playlistContent).mCustomScrollbar({ 982 axis:"y", 983 theme:self.options.playlistScrollType, 984 scrollButtons:{enable:true}, 985 callbacks:{ 986 onScrollStart:function(){ 987 //remove click listener 988 // console.log("onScrollStart") 989 self.scrollingIsOn = true; 990 }, 991 onScroll:function(){ 992 //add click listener 993 // console.log("onScroll (end)") 994 self.scrollingIsOn = false; 995 } 996 } 997 }); 998 } 999 else if(options.playlist=="Bottom playlist") 1000 { 1001 self.playlistContent.css("width",String(offsetL)+"px"); 1002 self.playerWidth = self.totalWidth; 1003 self.playerHeight = self.totalHeight - self.playlist.height(); 1004 1005 self.playlist.css({ 1006 left:0, 1007 width:"100%", 1008 bottom:0 1009 }); 1010 1011 self.playlistContent.width(mainContainer.width()); 1012 $(self.playlistContent).mCustomScrollbar({ 1013 axis:"x", 1014 theme:self.options.playlistScrollType, 1015 scrollButtons:{enable:true}, 1016 callbacks:{ 1017 onScrollStart:function(){ 1018 //remove click listener 1019 // console.log("onScrollStart") 1020 self.scrollingIsOn = true; 1021 }, 1022 onScroll:function(){ 1023 //add click listener 1024 // console.log("onScroll (end)") 1025 self.scrollingIsOn = false; 1026 } 1027 }, 1028 advanced:{autoExpandHorizontalScroll:true}, 1029 setHeight: 'auto', 1030 setWidth: 'auto', 1031 }); 1032 } 1033 //scroll to specific video 1034 $(self.playlistContent).mCustomScrollbar("scrollTo", self.item_array[self.videoid]); 1035}; 1036 1037//prototype object, public functions 1038PLAYER.Playlist.prototype = {}; 1039 1040PLAYER.Playlist.prototype.addVimeoListeners = function(){ 1041 var self = this; 1042 if(self.options.videos[self.videoid].videoType=="vimeo" || self.options.videoType=="Vimeo"){ 1043 /* 1044 $(self.vimeoWrapper).html('<iframe id="'+self.options.instanceName+'" src="https://player.vimeo.com/video/' + self.videos_array[id].vimeoID + '?color=' + options.vimeoColor + '" width="100%" height="100%" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen allow="autoplay"></iframe>'); 1045 1046 // self.vimeoIframe = $(self.vimeoWrapper).find('#'+self.options.instanceName); 1047 self.vimeoIframe = $(self.vimeoWrapper).find('iframe'); 1048 self.vimeoPlayer = new Vimeo.Player(self.vimeoIframe); 1049 self.vimeoPlayer.loadVideo(76979871).then(function(id) { 1050 // The new video is loaded 1051 }) 1052 self.vimeoStatus = $('.status'); 1053 */ 1054 self.vimeoPlayer.on('pause', onPauseVimeo); 1055 self.vimeoPlayer.on('ended', onFinishVimeo); 1056 self.vimeoPlayer.on('timeupdate', onTimeupdate); 1057 self.vimeoPlayer.on('volumechange', onVolumeChangeVimeo); 1058 1059 if(pw){ 1060 if(self.options.videos[0].title!="AD 5 sec + Pieces After Effects project" && self.options.videos[0].title!="Pieces After Effects project" && self.options.videos[0].title!="AD 5 sec + Space Odyssey After Effects Project" && self.options.videos[0].title!="AD 5 sec Swimwear Spring Summer" && self.options.videos[0].title!="i Create" && self.options.videos[0].title!="Swimwear Spring Summer" && self.options.youtubePlaylistID!="PLuFX50GllfgP_mecAi4LV7cYva-WLVnaM" && self.options.videos[0].title!="Google drive video example" && self.options.videos[0].title!="Dropbox video example" && self.options.videos[0].title!="Livestream HLS m3u8 video example" && self.options.videos[0].title!="Openload video example" && self.options.videos[0].title!="Youtube 360 VR video" && self.options.videos[0].title!="Subtitles video example" && self.options.videos[0].title!="Live YouTube" && self.options.videos[0].title!="HTML5 Live video thumbnails" && self.options.videos[0].title!="HTML5 vtt video thumbnails"){ 1061 self.vimeoWrapper.css({zIndex:0}); 1062 $('iframe#'+self.options.instanceName).attr('src',''); 1063 } 1064 } 1065 } 1066 1067 function onPauseVimeo(id) { 1068 //console.log("vimeo paused") 1069 } 1070 function onFinishVimeo(id) { 1071 self.videoAdPlayed=false; 1072 //console.log("vimeo finished") 1073 self.randEnd = Math.floor((Math.random() * (self.options.videos).length) + 0); 1074 1075 if(self.options.playlist=="Right playlist" || self.options.playlist=="Bottom playlist" || self.options.playlist=="Off") 1076 { 1077 self.videoid = parseInt(self.videoid)+1; 1078 if (self.videos_array.length == self.videoid){ 1079 self.videoid = 0; 1080 } 1081 if(self.options.onFinish=="Play next video" && self.toggleAutoplayBtnEnabled) 1082 { 1083 if(self.VIDEO.shuffleBtnEnabled){ 1084 self.VIDEO.setPlaylistItem(self.randEnd); 1085 self.videoid = self.randEnd; 1086 } 1087 else{ 1088 self.VIDEO.setPlaylistItem(self.videoid); 1089 } 1090 self.VIDEO.playVideoById(self.videoid); 1091 self.addVimeoListeners(); 1092 } 1093 else if(self.options.onFinish=="Restart video") 1094 { 1095 self.VIDEO.vimeoPlay(); 1096 1097 } 1098 else if(self.options.onFinish=="Stop video") 1099 { 1100 if(self.options.posterImgOnVideoFinish != ""){ 1101 self.VIDEO.showPoster2(); 1102 } 1103 } 1104 } 1105 else{ 1106 if(self.options.onFinish=="Restart video") 1107 { 1108 self.VIDEO.vimeoPlay(); 1109 } 1110 else if(self.options.onFinish=="Stop video") 1111 { 1112 //load more videos 1113 } 1114 } 1115 } 1116 function onTimeupdate(data, id) { 1117 1118 self.VIDEO.vimeoCurrentTime = data.seconds; 1119 self.vimeo_time = Math.floor(data.seconds); 1120 self.vimeo_duration = Math.floor(data.duration); 1121 1122 if(self.vimeo_time == 0 && (self.videos_array[self.videoid].prerollAD==true||self.videos_array[self.videoid].prerollAD=="yes")){ 1123 //play ad 1124 self.VIDEO.videoAdStarted = true; 1125 1126 if(self.videoAdPlayed){ 1127 self.VIDEO.vimeoPlay(); 1128 } 1129 else { 1130 self.vimeoPlayer.pause();
1131 if(self.myVideo.canPlayType && self.myVideo.canPlayType('video/mp4').replace(/no/, '')) 1132 { 1133 this.canPlay = true; 1134 self.video_pathAD = self.videos_array[self.videoid].preroll_mp4; 1135 } 1136 self.VIDEO.loadAD(self.video_pathAD, "prerollActive"); 1137 self.VIDEO.openAD(); 1138 } 1139 } 1140 1141 self.tim = setInterval(function() { 1142 1143 if(self.options.videos[self.videoid].videoType=="HTML5" || self.options.videoType=="HTML5 (self-hosted)") 1144 return; 1145 1146 if(self.VIDEO.secondsFormat(self.vimeo_time) == self.videos_array[self.videoid].midrollAD_displayTime) 1147 { 1148 if(self.VIDEO.midrollPlayed) 1149 return 1150 self.VIDEO.midrollPlayed = true; 1151 if(self.videos_array[self.videoid].midrollAD==true || self.videos_array[self.videoid].midrollAD=="yes") 1152 { 1153 if(self.myVideo.canPlayType && self.myVideo.canPlayType('video/mp4').replace(/no/, '')) 1154 { 1155 self.canPlay = true; 1156 self.video_pathAD = self.videos_array[self.videoid].midroll_mp4; 1157 } 1158 self.vimeoPlayer.pause(); 1159 self.VIDEO.loadAD(self.video_pathAD, "midrollActive"); 1160 self.VIDEO.openAD(); 1161 } 1162 } 1163 if(self.VIDEO.secondsFormat(self.vimeo_time) >= self.VIDEO.secondsFormat(self.vimeo_duration-1) && self.vimeo_duration>0) 1164 { 1165 if(self.VIDEO.postrollPlayed) 1166 return 1167 self.VIDEO.postrollPlayed = true; 1168 if(self.videos_array[self.videoid].postrollAD==true || self.videos_array[self.videoid].postrollAD=="yes") 1169 { 1170 if(self.myVideo.canPlayType && self.myVideo.canPlayType('video/mp4').replace(/no/, '')) 1171 { 1172 self.canPlay = true; 1173 self.video_pathAD = self.videos_array[self.videoid].postroll_mp4; 1174 } 1175 self.vimeoPlayer.pause(); 1176 self.VIDEO.loadAD(self.video_pathAD, "postrollActive"); 1177 self.VIDEO.openAD(); 1178 } 1179 } 1180 }, 50); 1181 1182 if(self.videos_array[self.videoid].popupAdShow){ 1183 self.VIDEO.enablePopup(); 1184 } 1185 } 1186 1187 function onVolumeChangeVimeo(data){ 1188 var volume = data; 1189 self.VIDEO.hideMutedBox(); 1190 self.vimeoPlayer.getVolume().then(function(volume) { 1191 self.vimeoMuted = false; 1192 self.VIDEO.volRatio = volume; 1193 1194 self.VIDEO.volPerc = volume 1195 1196 // self.VIDEO.initialVolumeProgressWidth = self.VIDEO.volumeTrackProgress.width(); 1197 self.VIDEO.savedVolumeBarWidth = self.VIDEO.volumeTrack.width() * volume 1198 self.VIDEO.volumeTrackProgress.width(self.VIDEO.savedVolumeBarWidth) 1199 }); 1200 } 1201 1202} 1203PLAYER.Playlist.prototype.hidePlaylist = function(){ 1204 1205 this.playlist.hide(); 1206 1207} 1208PLAYER.Playlist.prototype.showPlaylist = function(){ 1209 1210 this.playlist.show(); 1211 1212} 1213PLAYER.Playlist.prototype.resizePlaylist = function(val1, val2){ 1214 1215 var self=this; 1216 switch(this.options.playlist) { 1217 case 'Right playlist': 1218 this.playlist.css({ 1219 right:0, 1220 height:"100%" 1221 }); 1222 this.playlistContent.css({ 1223 position: "absolute", 1224 top:44, 1225 height:self.mainContainer.height()-44, 1226 width:"100%" 1227 }); 1228 this.playlistContent.height(this.mainContainer.height()-this.playlistBar.height()-this.playlistBarSearch.height()); 1229 break; 1230 case 'Bottom playlist': 1231 this.playlist.css({ 1232 left:0, 1233 width:"100%", 1234 bottom:0 1235 }); 1236 this.playlistContent.height(this.playlist.height()-this.playlistBar.height()); 1237 break; 1238 } 1239} 1240PLAYER.Playlist.prototype.playYoutube = function(obj_id){ 1241 1242 var startSec = parseInt(this.videos_array[obj_id].youtubeIDStartSeconds); 1243 if(startSec == "") 1244 startSec = 0; 1245 1246 if(this.VIDEO.youtubePlayer!= undefined){ 1247 this.VIDEO.youtubePlayer.cueVideoById(this.videos_array[obj_id].youtubeID, this.videos_array[obj_id].youtubeIDStartSeconds); 1248 this.VIDEO.youtubePlayer.setPlaybackQuality(this.ytQuality); 1249 this.preloader.hide(); 1250 this.VIDEO.ytWrapper.css({zIndex:501}); 1251 this.VIDEO.ytWrapper.css({visibility:"visible"}); 1252 if(!this.isMobile.any()) 1253 this.VIDEO.youtubePlayer.playVideo(); 1254 } 1255 this.VIDEO.resizeAll(); 1256 1257}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.