//Metódo para pausar o primeiro video em determinado tempo var chave = 'ligar'; function getChave(){ return chave; } function setChave(valor){ chave = valor; } //======================================================== //Iniciando um contador para a array var zCounter = 0; var zCounter_2 = 0; var contaLoop = 3; //Inicializando a array var playList=new Array(); // regular array (add an optional integer var playList_2=new Array(); // regular array (add an optional integer var primeiroVideo = 'Ox_JIwv8jlE';playList_2[0] = 'byDNWjfpS9Q';playList_2[1] = 'CzgHV4nP7v8';playList_2[2] = 'KgrhbC7fACM';playList_2[3] = 'YJTMKJAcwkk';playList_2[4] = 'RrQFjg3Bxu0';playList_2[5] = '0oVRdxN9PSY';playList_2[6] = 'sijYvpqOzAM';playList_2[7] = 'XfWAE7Hs7wQ';playList_2[8] = 'vP-r53VmPFk';playList_2[9] = 'Ox_JIwv8jlE'; //funcao para pegar loop function getLoop(){ return contaLoop; } //função para setar loop function setLoop(enviada){ contaLoop = enviada; } //Funçao para capturar o tamanho da array function tamanhoArray(){ tamanhoPlaylist = playList.length; return tamanhoPlaylist; } //funcao para capturar o contador atual function getZCounter(){ return zCounter; } //função para setar o contador function setZCounter(enviada){ zCounter = enviada; } //Funçao para capturar o tamanho da array_2 function tamanhoArray_2(){ tamanhoPlaylist_2 = playList_2.length; return tamanhoPlaylist_2; } //funcao para capturar o contador atual function getZCounter_2(){ return zCounter_2; } //função para setar o contador function setZCounter_2(enviada){ zCounter_2 = enviada; } /* * Change out the video that is playing */ // Update a particular HTML element with a new value function updateHTML(elmId, value) { document.getElementById(elmId).innerHTML = value; } // Loads the selected video into the player. function loadVideo(idVideo) { var videoID = idVideo; if(ytplayer) { ytplayer.loadVideoById(videoID); } } // This function is called when an error is thrown by the player function onPlayerError(errorCode) { alert("An error occured of type:" + errorCode); } var playerAcionado = 0; var varTimerSpeed = 5000; var contador; function setPlayerAcionado(valor){ playerAcionado = valor; } //Rotaciona os videos até o primeiro play function lerDeNovo(){ clearInterval(contador); clearInterval(varTimerSpeed); if(((ytplayer.getPlayerState() != 5) && (ytplayer.getPlayerState() != -1)) || playerAcionado != 0){ clearInterval(contador); //aciona flag de parada de rotação após primeiro play setPlayerAcionado(1); } //enquanto não der o primeiro play, "stopa" o vídeo e chama novamente após 5s else{ playerStateChanged(0); stop(); contador = setInterval(lerDeNovo, 5000); } } // This function is automatically called by the player once it loads function onYouTubePlayerReady(playerId) { ytplayer = document.getElementById("ytPlayer"); ytplayer.addEventListener('onStateChange', 'playerStateChanged'); //Caso o vídeo não seja iniciado, começa a rotacionar a playlist na página inicial if((ytplayer.getPlayerState() == 5 || ytplayer.getPlayerState() == -1) && playerAcionado == 0){ setInterval(lerDeNovo, varTimerSpeed); } //caso contrário, altera o flag else{ setPlayerAcionado(1); } clearInterval(varTimerSpeed); //updateytplayerInfo(); //============================================== } // The "main method" of this sample. Called when someone clicks "Run". function loadPlayer() { // The video to load var videoID = primeiroVideo; // Lets Flash from another domain call JavaScript var params = { allowScriptAccess: "always", allowfullscreen:"true",wmode:"transparent" }; // The element id of the Flash embed var atts = { id: "ytPlayer" }; // All of the magic handled by SWFObject (http://code.google.com/p/swfobject/) swfobject.embedSWF("https://www.youtube.com/v/" + videoID + "?version=3&enablejsapi=1&playerapiid=ytplayer&showinfo=0&rel=0&autohide=1&autoplay=0&wmode=transparent", "videoDiv", "450", "247", "9", null, null, params, atts); } function _run() { loadPlayer(); } google.setOnLoadCallback(_run); //Função para dar play no video function play() { if (ytplayer) { setPlayerAcionado(1); ytplayer.playVideo(); } } //Função para dar stop function stop() { if (ytplayer) { ytplayer.stopVideo(); } } //Função para dar pause no video function pause() { if (ytplayer) { ytplayer.pauseVideo(); } } //Função para chamar proximo video quando chegar ao fim function playerStateChanged(state) { var zCounter = getZCounter(); var zCounter_2 = getZCounter_2(); // State code 0 means playback ended if (state == 0) { //pausa o video pause(); //recuperando valores var zCounter = getZCounter(); var PlaylistSize = tamanhoArray(); var zCounter_2 = getZCounter_2(); var PlaylistSize_2 = tamanhoArray_2(); var contarLoop = getLoop(); if(contarLoop != 3){ loadVideo(playList_2[zCounter_2]); //Se nao chegou no final da array, incrementa if(PlaylistSize_2 != zCounter_2){ quantidade_2 = zCounter_2 + 1; setZCounter_2(quantidade_2); } //Se chegou, reseta e chama o video 0 else{ setZCounter_2(0); var zCounter_2 = getZCounter_2(); loadVideo(playList_2[zCounter_2]) } setLoop(contarLoop+1); } else{ loadVideo(playList[zCounter]); //Se nao chegou no final da array, incrementa if(PlaylistSize != zCounter){ quantidade = zCounter + 1; setZCounter(quantidade); } //Se chegou, reseta e chama o video 0 else{ setZCounter(0); var zCounter = getZCounter(); loadVideo(playList[zCounter]) } setLoop(0); } } }; //fim playerStateChanged //Métodos para pegar time atual do vídeo ============================ function roundNumber(number, decimalPlaces) { decimalPlaces = (!decimalPlaces ? 2 : decimalPlaces); return Math.round(number * Math.pow(10, decimalPlaces)) / Math.pow(10, decimalPlaces); } function getCurrentTime() { var currentTime = ytplayer.getCurrentTime(); return roundNumber(currentTime, 3); } //====================================================================== //Pausa o primeiro video quando getCurrentTime for 5 ou mais (numero inexato), logo após, desliga o método. function updateytplayerInfo() { if (ytplayer) { if(getCurrentTime() >= 9.8 && getChave() == 'ligar'){ pause(); setChave('desligar'); } } }