Skip to content

Instantly share code, notes, and snippets.

@basecode
Last active December 21, 2015 08:49
Show Gist options
  • Save basecode/6280795 to your computer and use it in GitHub Desktop.
Save basecode/6280795 to your computer and use it in GitHub Desktop.
Debug HTMLMediaElement
/**
* log events and properties
* from http://www.w3.org/html/wg/drafts/html/master/embedded-content-0.html
*/
(function(media) {
if (media instanceof HTMLMediaElement) {
console.log('Found', media);
} else {
console.log('Media not found');
}
[
'emptied',
'loadedmetadata',
'loadeddata',
'canplay',
'canplaythrough',
'playing',
'ended',
'waiting',
'durationchange',
'timeupdate',
'play',
'pause',
'ratechange',
'volumechange',
'suspend',
'stalled',
'abort',
'progress',
'loadstart',
'seeking',
'seeked',
'error',
'webkitbeginfullscreen',
'webkitendfullscreen'
].forEach(function(eventName) {
media.addEventListener(eventName, function() {
var props = {};
[
'networkState',
'readyState',
'error',
'src',
'currentTime',
'controls',
'muted',
'loop',
'mediaGroup',
'autoplay',
'preload',
'currentSrc',
'paused',
'width',
'height',
'crossOrigin',
'buffered',
'seeking',
'defaultPlaybackRate',
'playbackRate',
'played',
'seekable',
'ended',
'controller',
'volume',
'defaultMuted',
'videoTracks',
'duration'
].forEach(function(prop) {
props[prop] = media[prop];
});
console.log(eventName, 'fired', props);
}, false);
});
})(document.getElementsByTagName('video')[0]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment