summaryrefslogtreecommitdiff
path: root/public/js/lib/video.js
blob: 45e6043de252d1a05c6384bf6f574f254754e470 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
var video = (function(){
  var video = {}
  var mx
  
  video.init = function(opt){
    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)
  }

})()