Created
October 28, 2016 18:14
-
-
Save 33sticks/cc8411e0153eef10cc50b3acc749657f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* YouTube Player Mapping (https://developers.google.com/youtube/iframe_api_reference) */ | |
var playerInfoList=new Array(); | |
$("[id^='player']").each(function(){ | |
var player=$(this).attr('id'); | |
playerInfoList.push(player); | |
}); | |
var players=new Array(); | |
window.onYouTubeIframeAPIReady = function() { | |
for(x=0;x<playerInfoList.length;x++){ | |
players[x] = new YT.Player(playerInfoList[x], { | |
events: { | |
'onStateChange': onPlayerStateChange | |
} | |
}); | |
} | |
} | |
function onPlayerStateChange(event) { | |
if (event.data == YT.PlayerState.PLAYING) { | |
var videoPlayer = "YouTube"; | |
var videoTitle = event.target.getVideoData().title; | |
var videoId = event.target.getVideoData().video_id; | |
var mediaName = videoPlayer+'|'+videoId+'|'+videoTitle; | |
var mediaLength = Math.floor(event.target.getDuration()); | |
var mediaOffset = Math.floor(event.target.getCurrentTime()); | |
if (mediaOffset == 0) { | |
//console.log('mediaName on Start: ' + mediaName); | |
//console.log('mediaLength on Start: ' + Math.floor(event.target.getDuration())); | |
//console.log('mediaOffset on Start: ' + | |
Math.floor(event.target.getCurrentTime())); | |
mediaOffset = Math.floor(event.target.getCurrentTime()); | |
s.Media.open(mediaName,mediaLength,videoPlayer); | |
s.Media.play(mediaName,mediaOffset); | |
} else { | |
//console.log('mediaName on Play: ' + mediaName); | |
//console.log('mediaOffset on Play: ' + Math.floor(event.target.getCurrentTime())); | |
mediaOffset = Math.floor(event.target.getCurrentTime()); | |
s.Media.play(mediaName,mediaOffset); | |
}; | |
} | |
if (event.data == YT.PlayerState.PAUSED) { | |
var videoPlayer = "YouTube"; | |
var videoTitle = event.target.getVideoData().title; | |
var videoId = event.target.getVideoData().video_id; | |
var mediaName = videoPlayer+'|'+videoId+'|'+videoTitle; | |
//console.log('mediaName on Pause: ' + mediaName); | |
//console.log('mediaOffset on Pause: ' + Math.floor(event.target.getCurrentTime())); | |
mediaOffset = Math.floor(event.target.getCurrentTime()); | |
s.Media.stop(mediaName,mediaOffset); | |
} | |
if (event.data == YT.PlayerState.BUFFERING) { | |
var videoPlayer = "YouTube"; | |
var videoTitle = event.target.getVideoData().title; | |
var videoId = event.target.getVideoData().video_id; | |
var mediaName = videoPlayer+'|'+videoId+'|'+videoTitle; | |
//console.log('mediaName on Buffering: ' + mediaName); | |
//console.log('mediaOffset on Buffering: ' + | |
Math.floor(event.target.getCurrentTime())); | |
mediaOffset = Math.floor(event.target.getCurrentTime()); | |
s.Media.stop(mediaName,mediaOffset); | |
} | |
if (event.data == YT.PlayerState.ENDED) { | |
var videoPlayer = "YouTube"; | |
var videoTitle = event.target.getVideoData().title; | |
var videoId = event.target.getVideoData().video_id; | |
var mediaName = videoPlayer+'|'+videoId+'|'+videoTitle; | |
//console.log('mediaName on Ended: ' + mediaName); | |
//console.log('mediaOffset on Ended: ' + 0); | |
mediaOffset = 0; | |
s.Media.stop(mediaName,mediaOffset); | |
s.Media.close(mediaName); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment