Skip to content

Instantly share code, notes, and snippets.

@pamelafox
Created July 1, 2013 22:03
Show Gist options
  • Save pamelafox/5905031 to your computer and use it in GitHub Desktop.
Save pamelafox/5905031 to your computer and use it in GitHub Desktop.
playbackRate at Coursera
/** function set_speed(speed)
* Set the video speed
*
* @param double speed - target speed
*
* @return void
*/
this.is_set_speed_enabled = function() {
var featureExists = typeof(this.mediaelement_media) === 'object'
&& this.mediaelement_media !== null
&& typeof(this.mediaelement_media.playbackRate) === 'number'
&& this.mediaelement_media.playbackRate > 0;
if (featureExists) {
var userAgentWorks = !(mejs.MediaFeatures.isAndroid ||
mejs.MediaFeatures.isBustedAndroid ||
mejs.MediaFeatures.isiOS ||
mejs.MediaFeatures.isiPad ||
mejs.MediaFeatures.isiPhone);
if (userAgentWorks) {
return true;
}
}
return false;
}
this.set_speed = function(speed) {
var self = this;
self.mediaelement_media.playbackRate = speed;
// It only works in Safari and FF if we set it after the readyState > 0
if (self.mediaelement_media.readyState === 0) {
self.mediaelement_media.addEventListener('loadedmetadata', function() {
self.mediaelement_media.playbackRate = speed;
});
}
}
this.get_speed = function(speed) {
if(this.is_set_speed_enabled()) return this.mediaelement_media.playbackRate;
else return 1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment