| author | ymh <ymh.work@gmail.com> |
| Tue, 22 Oct 2024 07:03:54 +0200 | |
| changeset 1076 | 510fd2a482f4 |
| parent 1073 | 687133dc13cf |
| permissions | -rw-r--r-- |
|
1073
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
// VideojsPlayer |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
import "videojs-youtube/dist/Youtube.js"; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
import Vimeo from './videojs_plugins/Vimeo.js'; |
|
1076
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
4 |
import Dailymotion from "./videojs_plugins/Dailymotion.js"; |
|
1073
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
import videojs from "video.js"; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
import videojsStyles from "./VideojsPlayer.module.css"; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
import mime from "mime-types"; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
const alternative_types = [{ |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
regex:/^(https?:\/\/)?((?:www|m)\.)?(?:youtube(?:-nocookie)?\.com|youtu.be)/, |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
type: "video/youtube" |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
}, { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
regex:/^(https?:\/\/)?(www\.)?vimeo\.com/, |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
type: "video/vimeo" |
|
1076
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
16 |
}, { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
17 |
regex:/^(https?:\/\/)?(www\.)?dailymotion\.com/, |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
18 |
type: "video/dailymotion" |
|
1073
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
] |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
const VideojsPlayerWidget = function (ns) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
return class extends ns.Widgets.Widget { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
constructor(player, config) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
super(player, config); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
static defaults = {}; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
draw() { |
|
1076
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
31 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
32 |
const techOrder = [ 'html5', 'Youtube', 'Vimeo' ]; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
33 |
if(this.dailymotionPlayerId) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
34 |
techOrder.push("Dailymotion"); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
35 |
Dailymotion.loadLibrary(this.dailymotionPlayerId); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
36 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
37 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
38 |
var _opts = { techOrder }, |
|
1073
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
_seekPause = false, |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
_pauseState = true; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
if (typeof this.video === "undefined") { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
this.video = this.media.video; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
let type = mime.lookup(this.video); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
if(!type) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
for(const tdef of alternative_types) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
if(tdef.regex.test(this.video)) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
type = tdef.type; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
break; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
_opts.src = { type: type || false, src:this.video }; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
_opts.controls = false; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
_opts.width = this.width; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
59 |
if (this.height) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
60 |
_opts.height = this.height; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
61 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
62 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
if (this.autostart) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
// There seems to be an autostart bug |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
_opts.autostart = true; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
// _pauseState = false; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
// this.media.trigger("play"); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
68 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
69 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
if (this.url_transform) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
71 |
_opts.src.src = this.url_transform(_opts.src.src); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
72 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
73 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
74 |
// Binding functions to jwplayer |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
75 |
if(!this.media) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
76 |
return; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
77 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
78 |
var _media = this.media; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
79 |
const videoId = `video_${this.generateUid("_")}`; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
80 |
this.$.append(`<video class="video-js" id="${videoId}"><source type="${_opts.src.type || 'video/mp4'}" src="${_opts.src.src}"></source></video>`) |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
81 |
const _player = videojs(videoId, _opts); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
82 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
83 |
_media.on("setcurrenttime", function (_milliseconds) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
84 |
_seekPause = _pauseState; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
85 |
_player.currentTime(_milliseconds/1000); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
86 |
}); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
87 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
88 |
_media.on("setvolume", function (_vol) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
89 |
_player.volume(_vol); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
90 |
_media.volume = _vol; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
91 |
}); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
92 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
93 |
_media.on("setmuted", function (_muted) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
94 |
_player.muted(_muted); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
95 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
96 |
_media.muted = _muted; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
97 |
}); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
98 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
99 |
_media.on("setplay", function () { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
100 |
_player.play(); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
101 |
_media.paused = false; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
102 |
}); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
103 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
104 |
_media.on("setpause", function () { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
105 |
_player.pause(); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
106 |
_media.paused = true; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
107 |
}); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
108 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
109 |
// Binding jwplater events to media |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
110 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
111 |
function getVolume() { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
112 |
_media.muted = _player.muted(); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
113 |
_media.volume = _player.volume(); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
114 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
115 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
116 |
_player.on("timeupdate", function() { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
117 |
_media.trigger( |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
118 |
"timeupdate", |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
119 |
new ns.Model.Time(_player.currentTime()*1000) |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
120 |
); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
121 |
}) |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
122 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
123 |
_player.ready(function () { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
124 |
_media.trigger( |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
125 |
"timeupdate", |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
126 |
new ns.Model.Time(_player.currentTime()*1000) |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
127 |
); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
128 |
_pauseState = _player.paused(); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
129 |
_media.paused = _player.paused(); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
130 |
_media.trigger("loadedmetadata"); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
131 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
132 |
}); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
133 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
134 |
_player.on("pause", function() { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
135 |
_pauseState = true; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
136 |
_media.trigger("pause"); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
137 |
}) |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
138 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
139 |
_player.on("play", function() { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
140 |
_pauseState = false; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
141 |
_media.trigger("play"); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
142 |
}) |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
143 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
144 |
videojs.use("*", function (player) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
145 |
return { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
146 |
play: function (terminated, value) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
147 |
_pauseState = false; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
148 |
_media.trigger("play"); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
149 |
return value; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
150 |
}, |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
151 |
setCurrentTime: function (value) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
152 |
if (_seekPause) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
153 |
_player.pause(); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
154 |
_seekPause = false; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
155 |
} else { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
156 |
if (_pauseState && !_player.paused()) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
157 |
_pauseState = false; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
158 |
_media.trigger("play"); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
159 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
160 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
161 |
_media.trigger("timeupdate", new ns.Model.Time(value)); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
162 |
return value; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
163 |
}, |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
164 |
pause: function (terminated, value) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
165 |
_pauseState = true; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
166 |
_media.trigger("pause"); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
167 |
return value; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
168 |
}, |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
169 |
setMuted: function (value) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
170 |
_media.muted = value; |
|
1076
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
171 |
_media.trigger("muted"); |
|
1073
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
172 |
_media.trigger("volumechange"); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
173 |
return value; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
174 |
}, |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
175 |
setVolume: function (value) { |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
176 |
_media.volume = value; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
177 |
_media.trigger("volumechange"); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
178 |
return value; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
179 |
}, |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
180 |
}; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
181 |
}); |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
182 |
|
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
183 |
this.videojsPlayer = _player; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
184 |
} |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
185 |
}; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
186 |
}; |
|
687133dc13cf
Add VideojsPlayer for handling youtube and vimeo
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
187 |
|
|
1076
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
1073
diff
changeset
|
188 |
export { VideojsPlayerWidget as VideojsPlayer, videojsStyles, Vimeo, Dailymotion }; |