| author | ymh <ymh.work@gmail.com> |
| Tue, 22 Oct 2024 07:03:54 +0200 | |
| changeset 1076 | 510fd2a482f4 |
| child 1079 | d4f0681c4ff1 |
| permissions | -rw-r--r-- |
|
1076
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
// Adapted from https://github.com/lawchihon/videojs-dailymotion |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
/*global define, dailymotion*/ |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
import videojs from "video.js"; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
var _isOnMobile = videojs.browser.IS_IOS || videojs.browser.IS_NATIVE_ANDROID; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
var Tech = videojs.getTech("Tech"); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
class Dailymotion extends Tech { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
constructor(options, ready) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
super(options, ready); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
this.setSrc(this.options_.source); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
console.log(this.options_.source) |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
// Set the vjs-dailymotion class to the player |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
// Parent is not set yet so we have to wait a tick |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
setTimeout( () => { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
if (this.el_) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
this.el_.parentNode.className += " vjs-dailymotion"; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
if (_isOnMobile) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
this.el_.parentNode.className += " vjs-dailymotion-mobile"; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
if (Dailymotion.isSdkReady) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
this.initDMPlayer(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
} else { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
Dailymotion.sdkReadyQueue.push(this); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
}); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
_getPlayerParams() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
var playerParams = { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
autoplay: false, |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
mute: false, |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
controls: false, |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
"enable-playback-controls": false, |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
"queue-autoplay-next": false, |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
"queue-enable": false, |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
// Let the user set any Dailymotion parameter |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
// https://developer.dailymotion.com/player/#player-parameters |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
// To use Dailymotion controls, you must use dmControls instead |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
var params = [ |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
"api", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
"autoplay", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
"autoplay-mute", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
"id", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
"mute", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
"origin", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
"quality", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
"queue-autoplay-next", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
"queue-enable", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
"sharing-enable", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
59 |
"start", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
60 |
"subtitles-default", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
61 |
"syndication", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
62 |
"ui-highlight", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
"ui-logo", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
"ui-start-screen-info", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
"ui-theme", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
"apimode", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
"playlist", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
68 |
]; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
69 |
var options = this.options_; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
params.forEach(function (param) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
71 |
if (typeof options[param] === "undefined") { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
72 |
return; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
73 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
74 |
playerParams[param] = options[param]; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
75 |
}); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
76 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
77 |
if (typeof this.options_.dmControls !== "undefined") { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
78 |
playerParams.controls = this.options_.dmControls; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
79 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
80 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
81 |
// Overwriting playlist if it is included in url |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
82 |
if (this.url && typeof this.url.playlist !== "undefined") { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
83 |
playerParams.playlist = this.url.playlist; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
84 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
85 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
86 |
// Allow undocumented options to be passed along via customVars |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
87 |
if (typeof this.options_.customVars !== "undefined") { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
88 |
var customVars = this.options_.customVars; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
89 |
Object.keys(customVars).forEach(function (key) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
90 |
playerParams[key] = customVars[key]; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
91 |
}); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
92 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
93 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
94 |
return playerParams; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
95 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
96 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
97 |
_getPlayerConfig() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
98 |
var playerConfig = { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
99 |
width: "100%", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
100 |
height: "100%", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
101 |
params: this._getPlayerParams(), |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
102 |
}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
103 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
104 |
if (this.url && typeof this.url.video !== "undefined") { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
105 |
playerConfig.video = this.url.video; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
106 |
} else if (typeof this.options_.video !== "undefined") { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
107 |
playerConfig.video = this.options_.video; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
108 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
109 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
110 |
return playerConfig; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
111 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
112 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
113 |
async initDMPlayer() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
114 |
console.log("INIT DM Player", this._getPlayerConfig()); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
115 |
if (this.dmPlayer) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
116 |
return; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
117 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
118 |
const eventMapping = { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
119 |
[dailymotion.events.VIDEO_DURATIONCHANGE]: [ "durationchange" ], |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
120 |
[dailymotion.events.PLAYER_END]: [ "ended" ], |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
121 |
[dailymotion.events.PLAYER_ERROR]: [ "error" ], |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
122 |
[dailymotion.events.PLAYER_VIDEOCHANGE]: [ "loadeddata", "loadedmetadata"], |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
123 |
[dailymotion.events.VIDEO_PAUSE]: [ "pause" ], |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
124 |
//[dailymotion.events.VIDEO_PLAY]: [ "loadstart", "play", "playing", "waiting" ], |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
125 |
[dailymotion.events.VIDEO_PLAY]: [ "loadstart", "play", "playing" ], |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
126 |
[dailymotion.events.VIDEO_PLAYING]: [ "playing" ], |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
127 |
[dailymotion.events.VIDEO_TIMECHANGE]: [ "timeupdate" ], |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
128 |
[dailymotion.events.PLAYER_VOLUMECHANGE]: [ "volumechange", "mute" ], |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
129 |
}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
130 |
this.dmPlayer = await dailymotion.createPlayer( |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
131 |
this.options_.techId, |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
132 |
this._getPlayerConfig() |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
133 |
); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
134 |
this.dmState = await this.getPlayerState(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
135 |
//var vm = this; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
136 |
this.isApiReady = true; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
137 |
this.dmPlayer.enable_playback_controls = false; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
138 |
console.log("AUTONEXT", this.dmPlayer.enable_playback_controls); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
139 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
140 |
for (const ev in eventMapping) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
141 |
this.dmPlayer.on(ev, (s) => { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
142 |
this.dmState = s; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
143 |
for (const tev of eventMapping[ev]) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
144 |
this.trigger(tev) |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
145 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
146 |
}); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
147 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
148 |
this.dmPlayer.on(dailymotion.events.PLAYER_ERROR, (s) => { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
149 |
vm.trigger("error", s.playerError); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
150 |
}); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
151 |
this.triggerReady(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
152 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
153 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
154 |
autoplay(autoplay) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
155 |
if (typeof autoplay !== "undefined") { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
156 |
return this.setAutoplay(autoplay); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
157 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
158 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
159 |
return this.options_.autoplay; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
160 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
161 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
162 |
setAutoplay(val) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
163 |
return (this.options_.autoplay = val); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
164 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
165 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
166 |
buffered() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
167 |
if (!this.dmPlayer || !this.dmPlayer.bufferedTime) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
168 |
return videojs.createTimeRange(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
169 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
170 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
171 |
return videojs.createTimeRange(0, this.dmPlayer.bufferedTime); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
172 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
173 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
174 |
createEl() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
175 |
var div = document.createElement("div"); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
176 |
div.setAttribute("id", this.options_.techId); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
177 |
div.setAttribute( |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
178 |
"style", |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
179 |
"width:100%;height:100%;top:0;left:0;position:absolute" |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
180 |
); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
181 |
div.setAttribute("class", "vjs-tech"); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
182 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
183 |
var divWrapper = document.createElement("div"); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
184 |
divWrapper.appendChild(div); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
185 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
186 |
if (!_isOnMobile && !this.options_.dmControls) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
187 |
// var divBlocker = document.createElement('div'); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
188 |
// divBlocker.setAttribute('class', 'vjs-iframe-blocker'); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
189 |
// divBlocker.setAttribute('style', 'position:absolute;top:0;left:0;width:100%;height:100%'); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
190 |
// |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
191 |
// // In case the blocker is still there and we want to pause |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
192 |
// divBlocker.onclick = function() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
193 |
// this.pause(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
194 |
// }.bind(this); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
195 |
// |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
196 |
// divWrapper.appendChild(divBlocker); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
197 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
198 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
199 |
return divWrapper; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
200 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
201 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
202 |
currentSrc() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
203 |
return this.source && this.source.src; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
204 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
205 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
206 |
currentTime() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
207 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
208 |
return this.dmPlayer && this.dmState && this.dmState.videoTime; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
209 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
210 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
211 |
setCurrentTime(seconds) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
212 |
if (!this.dmPlayer || !this.dmPlayer.seek) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
213 |
return; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
214 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
215 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
216 |
return this.dmPlayer.seek(seconds); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
217 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
218 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
219 |
dispose() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
220 |
if (this.dmPlayer) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
221 |
//Destroy the Dailymotion Player |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
222 |
this.dmPlayer.destroy(this.options_.techId); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
223 |
Tech.prototype.dispose.call(this); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
224 |
} else { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
225 |
//Dailymotion API hasn't finished loading or the player is already disposed |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
226 |
var index = Dailymotion.sdkReadyQueue.indexOf(this); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
227 |
if (index !== -1) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
228 |
Dailymotion.sdkReadyQueue.splice(index, 1); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
229 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
230 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
231 |
this.dmPlayer = undefined; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
232 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
233 |
this.el_.parentNode.className = this.el_.parentNode.className |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
234 |
.replace(" vjs-dailymotion", "") |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
235 |
.replace(" vjs-dailymotion-mobile", ""); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
236 |
this.el_.parentNode.removeChild(this.el_); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
237 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
238 |
// Needs to be called after the Dailymotion player is destroyed, |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
239 |
// otherwise there will be a undefined reference exception |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
240 |
Tech.prototype.dispose.call(this); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
241 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
242 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
243 |
duration() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
244 |
return this.dmState ? this.dmState.videoDuration : 0; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
245 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
246 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
247 |
setDuration(seconds) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
248 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
249 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
250 |
ended() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
251 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
252 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
253 |
enterFullWindow() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
254 |
if (!this.dmPlayer || !this.dmPlayer.setFullscreen) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
255 |
return; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
256 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
257 |
return this.dmPlayer.setFullscreen(true); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
258 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
259 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
260 |
error() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
261 |
return this.dmState && this.dmState.playerError; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
262 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
263 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
264 |
exitFullscreen() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
265 |
if (!this.dmPlayer || !this.dmPlayer.setFullscreen) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
266 |
return; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
267 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
268 |
return this.dmPlayer.setFullscreen(false); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
269 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
270 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
271 |
isFullscreen() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
272 |
return this.dmState && this.dmState.playerPresentationMode === "fullscreen"; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
273 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
274 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
275 |
// Not supported by Dailymotion |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
276 |
language() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
277 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
278 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
279 |
// Not supported by Dailymotion |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
280 |
languages() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
281 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
282 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
283 |
load() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
284 |
if (!this.dmPlayer || !this.dmPlayer.loadContent) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
285 |
return; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
286 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
287 |
return this.dmPlayer.loadContent(this._getPlayerConfig()); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
288 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
289 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
290 |
// Not supported by Dailymotion |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
291 |
loop() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
292 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
293 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
294 |
async muted() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
295 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
296 |
if(!this.dmState) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
297 |
return false; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
298 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
299 |
return this.dmState.playerIsMuted; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
300 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
301 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
302 |
async setMuted(mute) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
303 |
if (typeof mute === "undefined") { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
304 |
const state = await this.getPlayerState(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
305 |
mute = state.playerIsMuted ? false : true; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
306 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
307 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
308 |
await this.dmPlayer.setMute(mute); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
309 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
310 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
311 |
networkState() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
312 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
313 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
314 |
async pause() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
315 |
if (!this.dmPlayer || !this.dmPlayer.pause) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
316 |
return; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
317 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
318 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
319 |
return await this.dmPlayer.pause(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
320 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
321 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
322 |
paused() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
323 |
return this.dmState && this.dmState.playerIsPlaying === false; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
324 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
325 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
326 |
play() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
327 |
if (!this.isApiReady || !this.dmPlayer || !this.dmPlayer.play) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
328 |
return; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
329 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
330 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
331 |
return this.dmPlayer.play(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
332 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
333 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
334 |
// Playback rate is not support by Dailymotion |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
335 |
playbackRate() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
336 |
return 1; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
337 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
338 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
339 |
// Not supported by Dailymotion |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
340 |
poster() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
341 |
return undefined; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
342 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
343 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
344 |
// Not supported by Dailymotion |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
345 |
preload() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
346 |
return undefined; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
347 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
348 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
349 |
// TODO: Confirm if it can be more detail |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
350 |
readyState() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
351 |
if (!this.dmState || this.dmState.playerError) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
352 |
return 0; //NETWORK_EMPTY |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
353 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
354 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
355 |
return 4; //HAVE_ENOUGH_DATA |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
356 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
357 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
358 |
remainingTime() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
359 |
return this.dmState && this.dmState.videoDuration - this.dmState.videoTime; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
360 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
361 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
362 |
requestFullscreen() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
363 |
return this.enterFullWindow(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
364 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
365 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
366 |
enterFullScreen() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
367 |
return this.enterFullWindow(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
368 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
369 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
370 |
reset() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
371 |
this.load(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
372 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
373 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
374 |
seekable() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
375 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
376 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
377 |
seeking() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
378 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
379 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
380 |
src(source) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
381 |
if (typeof source !== "undefined") { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
382 |
return this.setSrc(source); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
383 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
384 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
385 |
return this.source; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
386 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
387 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
388 |
setSrc(source) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
389 |
if (typeof source === "undefined") { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
390 |
return; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
391 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
392 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
393 |
this.source = source; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
394 |
this.url = Dailymotion.parseUrl(source.src || source); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
395 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
396 |
// Load the video if sdk is ready |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
397 |
if (Dailymotion.isSdkReady) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
398 |
this.load(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
399 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
400 |
return this.source; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
401 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
402 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
403 |
supportsFullScreen() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
404 |
return true; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
405 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
406 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
407 |
async volume() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
408 |
if(!this.dmPlayer ) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
409 |
return 1 |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
410 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
411 |
const state = await this.dmPlayer.getState(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
412 |
return state.playerVolume; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
413 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
414 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
415 |
setVolume(percentAsDecimal) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
416 |
if (!this.dmPlayer || !this.dmPlayer.setMute || !this.dmPlayer.setVolume) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
417 |
return; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
418 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
419 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
420 |
if (percentAsDecimal > 0) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
421 |
this.dmPlayer.setMute(false); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
422 |
} else { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
423 |
this.dmPlayer.setMute(true); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
424 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
425 |
this.dmPlayer.setVolume(percentAsDecimal); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
426 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
427 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
428 |
async getPlayerState() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
429 |
if (!this.dmPlayer) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
430 |
return {}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
431 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
432 |
return await this.dmPlayer.getState(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
433 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
434 |
}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
435 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
436 |
Dailymotion.isSupported = function () { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
437 |
return true; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
438 |
}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
439 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
440 |
Dailymotion.canPlaySource = function (e) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
441 |
return Dailymotion.canPlayType(e.type); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
442 |
}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
443 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
444 |
Dailymotion.canPlayType = function (e) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
445 |
return e === "video/dailymotion"; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
446 |
}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
447 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
448 |
Dailymotion.parseUrl = function (url) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
449 |
var result = {}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
450 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
451 |
var regex = /video\/[^?|^\/]*/; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
452 |
var match = url.match(regex); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
453 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
454 |
if (match && match[0]) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
455 |
result.video = match[0].replace("video/", ""); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
456 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
457 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
458 |
var regPlaylist = /playlist(=|\/)[^&]*/; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
459 |
match = url.match(regPlaylist); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
460 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
461 |
if (match && match[0]) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
462 |
result.playlist = match[0].replace(/playlist(=|\/)/, ""); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
463 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
464 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
465 |
return result; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
466 |
}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
467 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
468 |
async function apiLoaded() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
469 |
Dailymotion.isSdkReady = true; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
470 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
471 |
for (var i = 0; i < Dailymotion.sdkReadyQueue.length; ++i) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
472 |
await Dailymotion.sdkReadyQueue[i].initDMPlayer(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
473 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
474 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
475 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
476 |
function loadScript(src, callback) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
477 |
var loaded = false; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
478 |
var tag = document.createElement("script"); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
479 |
var firstScriptTag = document.getElementsByTagName("script")[0]; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
480 |
if (!firstScriptTag) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
481 |
// when loaded in jest without jsdom setup it doesn't get any element. |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
482 |
// In jest it doesn't really make sense to do anything, because no one is watching dailymotion in jest |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
483 |
return; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
484 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
485 |
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
486 |
tag.onload = function () { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
487 |
if (!loaded) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
488 |
loaded = true; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
489 |
callback(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
490 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
491 |
}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
492 |
tag.onreadystatechange = function () { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
493 |
if ( |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
494 |
!loaded && |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
495 |
(this.readyState === "complete" || this.readyState === "loaded") |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
496 |
) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
497 |
loaded = true; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
498 |
callback(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
499 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
500 |
}; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
501 |
tag.src = src; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
502 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
503 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
504 |
function injectCss() { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
505 |
var css = // iframe blocker to catch mouse events |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
506 |
".vjs-dailymotion .vjs-iframe-blocker { display: none; }" + |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
507 |
".vjs-dailymotion.vjs-user-inactive .vjs-iframe-blocker { display: block; }" + |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
508 |
".vjs-dailymotion .vjs-poster { background-size: cover; }" + |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
509 |
".vjs-dailymotion-mobile .vjs-big-play-button { display: none; }"; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
510 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
511 |
var head = document.head || document.getElementsByTagName("head")[0]; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
512 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
513 |
var style = document.createElement("style"); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
514 |
style.setAttribute("type", "text/css"); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
515 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
516 |
if (style.styleSheet) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
517 |
style.styleSheet.cssText = css; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
518 |
} else { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
519 |
style.appendChild(document.createTextNode(css)); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
520 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
521 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
522 |
head.appendChild(style); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
523 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
524 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
525 |
Dailymotion.sdkReadyQueue = []; |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
526 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
527 |
// x10ckq |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
528 |
Dailymotion.loadLibrary = function(playerId) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
529 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
530 |
if (typeof document !== "undefined") { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
531 |
loadScript(`https://geo.dailymotion.com/libs/player/${playerId}.js`, () => { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
532 |
if (window.dailymotion === undefined) { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
533 |
window.dailymotion = { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
534 |
onScriptLoaded: apiLoaded |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
535 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
536 |
} else { |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
537 |
apiLoaded(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
538 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
539 |
}); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
540 |
injectCss(); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
541 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
542 |
} |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
543 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
544 |
videojs.registerTech("Dailymotion", Dailymotion); |
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
545 |
|
|
510fd2a482f4
Add Dailymotion Tech and remove unused libs
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
546 |
export default Dailymotion; |