Created
June 20, 2014 16:23
-
-
Save steverandy/ac4b84f5c286ffa8afba 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
this.Strobe = (function() { | |
function Strobe() {} | |
_.extend(Strobe, Backbone.Events); | |
Strobe.bridge = function(playerId, ev, data) { | |
switch (ev) { | |
case "onJavaScriptBridgeCreated": | |
Strobe.player = document.getElementById(playerId); | |
Strobe.player.addEventListener("bufferingChange", "Strobe.onBufferingChange"); | |
return Strobe.trigger("initialized"); | |
case "emptied": | |
Strobe.trigger("emptied"); | |
return console.log("strobe emptied"); | |
case "loadstart": | |
Strobe.trigger("loadstart"); | |
Strobe.player.setBufferTime(0.1); | |
return console.log("strobe loadstart"); | |
case "play": | |
Strobe.trigger("play"); | |
Strobe.isStartedPlaying = true; | |
return console.log("strobe play"); | |
case "pause": | |
Strobe.trigger("pause"); | |
return console.log("strobe pause"); | |
case "waiting": | |
Strobe.trigger("waiting"); | |
return console.log("strobe waiting"); | |
case "loadedmetadata": | |
Strobe.trigger("loadedmetadata"); | |
return console.log("strobe loadedmetadata"); | |
case "seeking": | |
Strobe.trigger("seeking"); | |
Strobe.player.setBufferTime(0.1); | |
return console.log("strobe seeking"); | |
case "seeked": | |
Strobe.trigger("seeked"); | |
return console.log("strobe seeked"); | |
case "volumechange": | |
Strobe.trigger("volumechange"); | |
return console.log("strobe volumechange"); | |
case "durationchange": | |
Strobe.trigger("durationchange"); | |
return console.log("strobe durationchange"); | |
case "timeupdate": | |
return Strobe.trigger("timeupdate"); | |
case "progress": | |
return Strobe.trigger("progress"); | |
case "complete": | |
Strobe.trigger("complete"); | |
return console.log("strobe complete"); | |
} | |
}; | |
Strobe.onBufferingChange = function(buffering) { | |
if (!Strobe.isStartedPlaying) { | |
return; | |
} | |
if (buffering) { | |
return Strobe.player.setBufferTime(4); | |
} else { | |
return Strobe.player.setBufferTime(60); | |
} | |
}; | |
return Strobe; | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment