multi_embed_player 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,451 @@
1
+ import { PlayerState } from '../types';
2
+ /**
3
+ * Class representing a Bilibili player.
4
+ */
5
+ export class mep_bilibili {
6
+ constructor(replacing_element, content, player_set_event_function) {
7
+ this.autoplay = 0;
8
+ this.startSeconds = 0;
9
+ this.endSeconds = -1;
10
+ this.displayComment = 1;
11
+ this.fastLoad = 0;
12
+ this.play_control_wrap = 1;
13
+ this.playerState = PlayerState.UNSTARTED;
14
+ this.currentTime = 0;
15
+ this.duration = 0;
16
+ this.volume = 100;
17
+ this.muted = false;
18
+ this.initialize_player_base_url();
19
+ this.element_constructor(replacing_element, content, player_set_event_function);
20
+ }
21
+ /**
22
+ * Initialize player base URL based on browser.
23
+ */
24
+ initialize_player_base_url() {
25
+ if (mep_bilibili.player_base_url === "") {
26
+ const ua = navigator.userAgent;
27
+ if (ua.indexOf("Firefox") !== -1 || ua.indexOf("Edg") !== -1) {
28
+ mep_bilibili.player_base_url = "https://www.bilibili.com/blackboard/webplayer/embed-old.html?";
29
+ }
30
+ else {
31
+ mep_bilibili.player_base_url = "https://player.bilibili.com/player.html?";
32
+ }
33
+ }
34
+ }
35
+ /**
36
+ * Constructor for element setup.
37
+ */
38
+ async element_constructor(replacing_element, content, player_set_event_function) {
39
+ try {
40
+ this.player = document.createElement("iframe");
41
+ if (typeof player_set_event_function === "function") {
42
+ player_set_event_function();
43
+ }
44
+ let iframe_replace_node;
45
+ if (typeof replacing_element === "string") {
46
+ const element = document.getElementById(replacing_element);
47
+ if (!element) {
48
+ throw new Error(`Element with id "${replacing_element}" not found`);
49
+ }
50
+ iframe_replace_node = element;
51
+ }
52
+ else {
53
+ iframe_replace_node = replacing_element;
54
+ }
55
+ this.videoid = content.videoId;
56
+ const playerVars = content.playerVars || {};
57
+ // Set player variables
58
+ this.autoplay = playerVars.autoplay || 0;
59
+ this.startSeconds = playerVars.startSeconds || 0;
60
+ this.endSeconds = playerVars.endSeconds || -1;
61
+ this.displayComment = playerVars.displayComment !== undefined ? playerVars.displayComment : 1;
62
+ this.fastLoad = playerVars.fastLoad || 0;
63
+ this.play_control_wrap = playerVars.play_control_wrap !== undefined ? playerVars.play_control_wrap : 1;
64
+ // Check local storage access
65
+ if (mep_bilibili.localStorageCheck === null) {
66
+ try {
67
+ localStorage.setItem("mep_bilibili_test", "test");
68
+ localStorage.removeItem("mep_bilibili_test");
69
+ mep_bilibili.localStorageCheck = true;
70
+ }
71
+ catch {
72
+ mep_bilibili.localStorageCheck = false;
73
+ this.front_error_code = 2;
74
+ this.add_error_description();
75
+ return;
76
+ }
77
+ }
78
+ // Check extension
79
+ mep_bilibili.mep_extension_bilibili = localStorage.getItem("mep_extension_bilibili") === "true";
80
+ this.add_player_css_style();
81
+ this.player.classList.add("mep_bilibili_player");
82
+ // Set iframe attributes
83
+ this.player.width = String(content.width || 560);
84
+ this.player.height = String(content.height || 315);
85
+ this.player.allow = "autoplay; fullscreen";
86
+ this.player.allowFullscreen = true;
87
+ this.player.referrerPolicy = "no-referrer";
88
+ // Replace element
89
+ iframe_replace_node.replaceWith(this.player);
90
+ // Load video
91
+ await this.image_player(true);
92
+ }
93
+ catch (error) {
94
+ console.error("Error in element_constructor:", error);
95
+ this.front_error_code = 0;
96
+ this.add_error_description();
97
+ }
98
+ }
99
+ /**
100
+ * Display image player when paused.
101
+ */
102
+ async image_player(first_load = false) {
103
+ try {
104
+ let exist_img_children = false;
105
+ const parent_element = this.player.parentElement;
106
+ if (!parent_element)
107
+ return;
108
+ parent_element.childNodes.forEach((node) => {
109
+ if (node.nodeName === "IMG") {
110
+ exist_img_children = true;
111
+ }
112
+ if (node.nodeName === "DIV" && node.classList.contains("mep_bilibili_transparent")) {
113
+ node.remove();
114
+ }
115
+ });
116
+ if (!exist_img_children && this.play_control_wrap) {
117
+ const img_element = document.createElement("img");
118
+ const video_data = await this.getVideodataApi();
119
+ img_element.src = video_data.image_base64 || "";
120
+ img_element.width = parseInt(this.player.width);
121
+ img_element.height = parseInt(this.player.height);
122
+ img_element.style.width = "100%";
123
+ img_element.style.height = "100%";
124
+ img_element.style.objectFit = "cover";
125
+ img_element.style.cursor = "pointer";
126
+ img_element.addEventListener("click", () => {
127
+ this.playVideo();
128
+ });
129
+ parent_element.prepend(img_element);
130
+ }
131
+ this.player.hidden = true;
132
+ this.player.src = "";
133
+ if (first_load) {
134
+ this.player.dispatchEvent(new Event("onReady"));
135
+ }
136
+ }
137
+ catch (error) {
138
+ console.error("Error in image_player:", error);
139
+ }
140
+ }
141
+ /**
142
+ * Set pause transparent overlay.
143
+ */
144
+ set_pause_transparent() {
145
+ let exist_div_children = false;
146
+ const parent_element = this.player.parentElement;
147
+ if (!parent_element)
148
+ return;
149
+ parent_element.childNodes.forEach((node) => {
150
+ if (node.nodeName === "DIV" && node.classList.contains("mep_bilibili_transparent")) {
151
+ exist_div_children = true;
152
+ }
153
+ });
154
+ if (!exist_div_children && this.play_control_wrap) {
155
+ const div_element = document.createElement("div");
156
+ div_element.classList.add("mep_bilibili_transparent");
157
+ div_element.style.width = "100%";
158
+ div_element.style.height = "100%";
159
+ div_element.style.zIndex = "1";
160
+ div_element.style.position = "absolute";
161
+ div_element.style.cursor = "pointer";
162
+ div_element.addEventListener("click", () => {
163
+ this.pauseVideo();
164
+ });
165
+ parent_element.prepend(div_element);
166
+ }
167
+ }
168
+ /**
169
+ * Add loading animation.
170
+ */
171
+ add_loading_animation() {
172
+ let exist_mep_load_animation = false;
173
+ Array.from(document.head.getElementsByClassName("mep_load_animation")).forEach((element) => {
174
+ if (element.nodeName === "STYLE") {
175
+ exist_mep_load_animation = true;
176
+ }
177
+ });
178
+ if (!exist_mep_load_animation) {
179
+ const style_element = document.createElement("style");
180
+ style_element.classList.add("mep_load_animation");
181
+ style_element.innerHTML = `
182
+ .mep_loading_animation{
183
+ border: 12px solid #fafafa;
184
+ border-radius: 50%;
185
+ border-top: 12px solid #3498db;
186
+ width: 100px;
187
+ height: 100px;
188
+ animation: spin 1s linear infinite;
189
+ }
190
+ @keyframes spin{
191
+ 0%{
192
+ transform: rotate(0deg);
193
+ }
194
+ 100%{
195
+ transform: rotate(360deg);
196
+ }
197
+ }`;
198
+ document.head.appendChild(style_element);
199
+ }
200
+ let exist_animation_div = false;
201
+ const parent_element = this.player.parentElement;
202
+ if (!parent_element)
203
+ return;
204
+ parent_element.childNodes.forEach((node) => {
205
+ if (node.nodeName === "DIV" && node.classList.contains("mep_loading_animation")) {
206
+ exist_animation_div = true;
207
+ }
208
+ });
209
+ if (!exist_animation_div) {
210
+ const div_element = document.createElement("div");
211
+ div_element.classList.add("mep_loading_animation");
212
+ div_element.style.zIndex = "2";
213
+ div_element.style.top = "calc(50% - 50px)";
214
+ div_element.style.left = "calc(50% - 50px)";
215
+ div_element.style.position = "absolute";
216
+ parent_element.prepend(div_element);
217
+ }
218
+ }
219
+ /**
220
+ * Remove loading animation.
221
+ */
222
+ remove_loading_animation() {
223
+ const parent_element = this.player.parentElement;
224
+ if (!parent_element)
225
+ return;
226
+ parent_element.childNodes.forEach((node) => {
227
+ if (node.nodeName === "DIV" && node.classList.contains("mep_loading_animation")) {
228
+ node.remove();
229
+ }
230
+ });
231
+ }
232
+ /**
233
+ * Add error description.
234
+ */
235
+ add_error_description() {
236
+ const error_description_document = document.createElement("div");
237
+ error_description_document.style.width = "100%";
238
+ error_description_document.style.height = "100%";
239
+ let error_message = "unknown error occurred";
240
+ if (this.front_error_code !== undefined && mep_bilibili.error_description[this.front_error_code] !== undefined) {
241
+ error_message = mep_bilibili.error_description[this.front_error_code] + "\n front end error code:" + String(this.front_error_code);
242
+ }
243
+ error_description_document.innerText = error_message;
244
+ this.player.replaceWith(error_description_document);
245
+ this.player = error_description_document;
246
+ try {
247
+ const parent_element = this.player.parentElement;
248
+ if (parent_element) {
249
+ parent_element.style.backgroundImage = "";
250
+ }
251
+ }
252
+ catch { }
253
+ }
254
+ /**
255
+ * Add player CSS style.
256
+ */
257
+ add_player_css_style() {
258
+ let exist_mep_bilibili_player_css = false;
259
+ Array.from(document.head.getElementsByClassName("mep_bilibili_player_css")).forEach((element) => {
260
+ if (element.nodeName === "STYLE") {
261
+ exist_mep_bilibili_player_css = true;
262
+ }
263
+ });
264
+ if (!exist_mep_bilibili_player_css) {
265
+ const style_element = document.createElement("style");
266
+ style_element.classList.add("mep_bilibili_player_css");
267
+ style_element.innerHTML = `
268
+ .mep_bilibili_player{
269
+ border: none;
270
+ width: 100%;
271
+ height: 100%;
272
+ }`;
273
+ document.head.appendChild(style_element);
274
+ }
275
+ }
276
+ /**
277
+ * Get video data from API.
278
+ */
279
+ async getVideodataApi() {
280
+ return new Promise(async (resolve, reject) => {
281
+ if (!(this.videoid in mep_bilibili.bilibili_api_cache)) {
282
+ if (mep_bilibili.bilibili_api_promise[this.videoid] === undefined) {
283
+ mep_bilibili.bilibili_api_promise[this.videoid] = { res: [], rej: [] };
284
+ try {
285
+ if (mep_bilibili.cors_proxy === "") {
286
+ mep_bilibili.bilibili_api_cache[this.videoid] = await (await fetch(`${mep_bilibili.api_endpoint}?route=bilibili&videoid=${this.videoid}&image_base64=1`)).json();
287
+ }
288
+ else {
289
+ const json_response_bilibili = await (await fetch(mep_bilibili.cors_proxy + `https://api.bilibili.com/x/web-interface/view?bvid=${this.videoid}`)).json();
290
+ if (json_response_bilibili?.data?.pic === undefined) {
291
+ json_response_bilibili["image_base64"] = null;
292
+ }
293
+ else {
294
+ json_response_bilibili["image_base64"] = mep_bilibili.cors_proxy + json_response_bilibili.data.pic;
295
+ }
296
+ mep_bilibili.bilibili_api_cache[this.videoid] = json_response_bilibili;
297
+ }
298
+ }
299
+ catch {
300
+ console.error("error occurred when get bilibili api. Are you sure you overwrite iframe_api endpoint? or cors proxy is not working?");
301
+ this.front_error_code = 1;
302
+ this.player.dispatchEvent(new CustomEvent("onError", { detail: { code: 1100 } }));
303
+ }
304
+ mep_bilibili.bilibili_api_promise[this.videoid].res.forEach((resolveFunc) => { resolveFunc(); });
305
+ resolve(mep_bilibili.bilibili_api_cache[this.videoid]);
306
+ }
307
+ else {
308
+ mep_bilibili.bilibili_api_promise[this.videoid].res.push(() => resolve(mep_bilibili.bilibili_api_cache[this.videoid]));
309
+ mep_bilibili.bilibili_api_promise[this.videoid].rej.push(() => reject());
310
+ return;
311
+ }
312
+ }
313
+ else {
314
+ resolve(mep_bilibili.bilibili_api_cache[this.videoid]);
315
+ }
316
+ });
317
+ }
318
+ // IPlayer interface implementation
319
+ playVideo() {
320
+ if (!mep_bilibili.mep_extension_bilibili) {
321
+ this.set_pause_transparent();
322
+ // Implementation for non-extension mode
323
+ }
324
+ else {
325
+ this.player.contentWindow.postMessage({ eventName: "play" }, "*");
326
+ }
327
+ }
328
+ pauseVideo() {
329
+ if (!mep_bilibili.mep_extension_bilibili) {
330
+ this.image_player();
331
+ }
332
+ else {
333
+ this.player.contentWindow.postMessage({ eventName: "pause" }, "*");
334
+ }
335
+ }
336
+ getCurrentTime() {
337
+ return Promise.resolve(this.currentTime);
338
+ }
339
+ getDuration() {
340
+ return Promise.resolve(this.duration);
341
+ }
342
+ async seekTo(time) {
343
+ const num_time = Number(time);
344
+ if (isNaN(num_time) || num_time < 0) {
345
+ console.error("Invalid time value");
346
+ return;
347
+ }
348
+ if (!mep_bilibili.mep_extension_bilibili) {
349
+ // Implementation for non-extension mode
350
+ }
351
+ else {
352
+ this.player.contentWindow.postMessage({ eventName: "seek", seekTime: num_time }, "*");
353
+ }
354
+ }
355
+ setVolume(volume) {
356
+ const num_volume = Number(volume);
357
+ if (isNaN(num_volume) || num_volume < 0 || num_volume > 100) {
358
+ console.error("Invalid volume value");
359
+ return;
360
+ }
361
+ if (!mep_bilibili.mep_extension_bilibili) {
362
+ console.warn(mep_bilibili.no_extention_error);
363
+ }
364
+ else {
365
+ this.player.contentWindow.postMessage({ eventName: "setVolume", volume: num_volume / 100 }, "*");
366
+ }
367
+ }
368
+ getVolume() {
369
+ if (!mep_bilibili.mep_extension_bilibili) {
370
+ console.warn(mep_bilibili.no_extention_error);
371
+ return Promise.resolve(this.volume);
372
+ }
373
+ else {
374
+ return Promise.resolve(this.volume);
375
+ }
376
+ }
377
+ mute() {
378
+ if (!mep_bilibili.mep_extension_bilibili) {
379
+ console.warn(mep_bilibili.no_extention_error);
380
+ }
381
+ else {
382
+ this.volume = this.volume; // Store current volume
383
+ this.player.contentWindow.postMessage({ eventName: "setVolume", volume: 0 }, "*");
384
+ }
385
+ }
386
+ unMute() {
387
+ if (!mep_bilibili.mep_extension_bilibili) {
388
+ console.warn(mep_bilibili.no_extention_error);
389
+ }
390
+ else {
391
+ this.player.contentWindow.postMessage({ eventName: "setVolume", volume: this.volume / 100 }, "*");
392
+ }
393
+ }
394
+ isMuted() {
395
+ return Promise.resolve(this.muted);
396
+ }
397
+ getPlayerState() {
398
+ return Promise.resolve(this.playerState);
399
+ }
400
+ /**
401
+ * Get real duration between start and end times.
402
+ */
403
+ async getRealDulation() {
404
+ const duration = await this.getDuration();
405
+ if (this.endSeconds === -1) {
406
+ return duration - this.startSeconds;
407
+ }
408
+ else {
409
+ return this.endSeconds - this.startSeconds;
410
+ }
411
+ }
412
+ /**
413
+ * Load video by ID.
414
+ */
415
+ loadVideoById(content) {
416
+ this.videoid = content.videoId;
417
+ const playerVars = content.playerVars || {};
418
+ this.autoplay = playerVars.autoplay || 0;
419
+ this.startSeconds = playerVars.startSeconds || 0;
420
+ this.endSeconds = playerVars.endSeconds || -1;
421
+ // Implementation for loading video
422
+ }
423
+ /**
424
+ * Cue video by ID.
425
+ */
426
+ cueVideoById(content) {
427
+ this.videoid = content.videoId;
428
+ const playerVars = content.playerVars || {};
429
+ this.autoplay = 0; // Don't autoplay when cueing
430
+ this.startSeconds = playerVars.startSeconds || 0;
431
+ this.endSeconds = playerVars.endSeconds || -1;
432
+ // Implementation for cueing video
433
+ }
434
+ }
435
+ mep_bilibili.error_description = {
436
+ 0: "unknown error occurred",
437
+ 1: "data api endpoint invalid or throw error",
438
+ 2: "can't access local storage",
439
+ 3: "data api throw error",
440
+ 4: "player throw error direct"
441
+ };
442
+ mep_bilibili.localStorageCheck = null;
443
+ mep_bilibili.mep_extension_bilibili = false;
444
+ mep_bilibili.api_endpoint = "https://iframe_api.ryokuryu.workers.dev";
445
+ mep_bilibili.no_extention_error = "you seems not to install mep_extension yet.if it not installed in your browser,you can't exact some function(mute unMute setVolume etc) and some function(getDuration,getPlayerState etc) will return incorrect data which is not reflect real data";
446
+ mep_bilibili.player_base_url = "";
447
+ mep_bilibili.bilibili_api_cache = {};
448
+ mep_bilibili.cors_proxy = "";
449
+ mep_bilibili.currentTime_delay = 2;
450
+ mep_bilibili.bilibili_api_promise = {};
451
+ //# sourceMappingURL=bilibili.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bilibili.js","sourceRoot":"","sources":["../../iframe_api/bilibili.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { mep_youtube } from './youtube';
2
+ export { mep_bilibili } from './bilibili';
3
+ export { mep_soundcloud } from './soundcloud';
4
+ export { mep_niconico } from './niconico';
5
+ export * from '../types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../iframe_api/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,cAAc,UAAU,CAAC"}
@@ -0,0 +1,8 @@
1
+ // Export all player classes
2
+ export { mep_youtube } from './youtube';
3
+ export { mep_bilibili } from './bilibili';
4
+ export { mep_soundcloud } from './soundcloud';
5
+ export { mep_niconico } from './niconico';
6
+ // Export types
7
+ export * from '../types';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../iframe_api/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAe;AACf,cAAc,UAAU,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { NiconicoContent, IPlayer, PlayerState, EventHandler } from '../types';
2
+ /**
3
+ * Class representing a Niconico player.
4
+ */
5
+ export declare class mep_niconico implements IPlayer {
6
+ private player;
7
+ private videoid;
8
+ private autoplay;
9
+ private startSeconds;
10
+ private endSeconds;
11
+ private playerState;
12
+ private currentTime;
13
+ private duration;
14
+ private volume;
15
+ private muted;
16
+ constructor(replacing_element: string | HTMLElement, content: NiconicoContent, player_set_event_function?: EventHandler);
17
+ private load;
18
+ playVideo(): void;
19
+ pauseVideo(): void;
20
+ getCurrentTime(): Promise<number>;
21
+ getDuration(): Promise<number>;
22
+ seekTo(time: number): Promise<void>;
23
+ setVolume(volume: number): void;
24
+ getVolume(): Promise<number>;
25
+ mute(): void;
26
+ unMute(): void;
27
+ isMuted(): Promise<boolean>;
28
+ getPlayerState(): Promise<PlayerState>;
29
+ /**
30
+ * Get real duration between start and end times.
31
+ */
32
+ getRealDulation(): Promise<number>;
33
+ /**
34
+ * Load video by ID.
35
+ */
36
+ loadVideoById(content: NiconicoContent): void;
37
+ /**
38
+ * Cue video by ID.
39
+ */
40
+ cueVideoById(content: NiconicoContent): void;
41
+ }
42
+ //# sourceMappingURL=niconico.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"niconico.d.ts","sourceRoot":"","sources":["../../iframe_api/niconico.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAsB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEnG;;GAEG;AACH,qBAAa,YAAa,YAAW,OAAO;IAC1C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAkB;gBAG7B,iBAAiB,EAAE,MAAM,GAAG,WAAW,EACvC,OAAO,EAAE,eAAe,EACxB,yBAAyB,CAAC,EAAE,YAAY;YAK5B,IAAI;IA+DlB,SAAS,IAAI,IAAI;IAMjB,UAAU,IAAI,IAAI;IAKlB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAKjC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAKxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAW/B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,IAAI,IAAI,IAAI;IAKZ,MAAM,IAAI,IAAI;IAKd,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAItC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IASxC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAkB7C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;CAgB7C"}