diff options
Diffstat (limited to 'public/js/lib/video.js')
| -rw-r--r-- | public/js/lib/video.js | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/public/js/lib/video.js b/public/js/lib/video.js new file mode 100644 index 0000000..2eb5c82 --- /dev/null +++ b/public/js/lib/video.js @@ -0,0 +1,91 @@ +var video = (function(){ + var video = {} + var mx + + video.init = function(media){ + video.build() + } + + video.build = function(media){ + switch (media.type) { + case 'video': + mxType = MX.Video + break + case 'vimeo': + mxType = MX.Vimeo + break + case 'youtube': + mxType = MX.Youtube + break + } + if (app.muted) { + media.mute = true + } + mx = new mxType({ + media: media, + backface: false, + }) + video.el.innerHTML = "" + video.el.appendChild(mx.el) + + mx.load() + } + + video.play = function(){ + mx.play() + } + + video.pause = function(){ + mx.pause() + } + + video.toggle = function(shouldPause){ + if (typeof shouldPause !== "boolean") { + shouldPause = ! mx.paused + } + shouldPause ? mx.pause() : mx.play() + return shouldPause + } + + video.toggleMuted = function(shouldMute){ + if (typeof shouldMute !== "boolean") { + shouldMute = ! mx.muted + } + shouldMute ? mx.mute() : mx.unmute() + return shouldMute + } + + video.paused = function(){ + return mx.paused + } + + video.muted = function(){ + return mx.muted + } + + video.seek = function(n){ + mx.seek(n) + } + + video.setLoop = function(shouldLoop){ + mx.setLoop(shouldLoop) + } + + video.mute = function(muted){ + if (muted) { + mx.mute() + } + else { + mx.unmute() + } + } + + video.unmute = function(){ + mx.unmute() + } + + video.setVolume = function(n){ + mx.setVolume(n) + } + +})() |
