Skip to content

Instantly share code, notes, and snippets.

@steverandy
Created June 20, 2014 16:23
Show Gist options
  • Save steverandy/ac4b84f5c286ffa8afba to your computer and use it in GitHub Desktop.
Save steverandy/ac4b84f5c286ffa8afba to your computer and use it in GitHub Desktop.
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