@yimou6/common-ui 1.11.14 → 1.12.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.
Files changed (50) hide show
  1. package/cdn/index.cdn.js +10 -10
  2. package/cdn/index.cdn.js.map +1 -1
  3. package/cdn/index.cdn.mjs +10 -10
  4. package/cdn/index.cdn.mjs.map +1 -1
  5. package/cdn/index.css +1 -1
  6. package/es/components/tzj-player/index.d.ts +40 -8
  7. package/es/components/tzj-player/src/ctyun-player.vue.d.ts +5 -1
  8. package/es/components/tzj-player/src/easyPlayer.vue.d.ts +5 -1
  9. package/es/components/tzj-player/src/easyPlayer.vue2.mjs +128 -80
  10. package/es/components/tzj-player/src/easyPlayer.vue2.mjs.map +1 -1
  11. package/es/components/tzj-player/src/newPlayer.vue.d.ts +7 -0
  12. package/es/components/tzj-player/src/newPlayer.vue.mjs +6 -0
  13. package/es/components/tzj-player/src/newPlayer.vue.mjs.map +1 -0
  14. package/es/components/tzj-player/src/newPlayer.vue2.mjs +67 -0
  15. package/es/components/tzj-player/src/newPlayer.vue2.mjs.map +1 -0
  16. package/es/components/tzj-player/src/tzj-player.vue.d.ts +40 -8
  17. package/es/components/tzj-player/src/tzj-player.vue2.mjs +5 -5
  18. package/es/components/tzj-player/src/tzj-player.vue2.mjs.map +1 -1
  19. package/es/components/tzj-player/src/xgplayer.vue.d.ts +5 -1
  20. package/es/components/tzj-player/src/xgplayer.vue2.mjs +77 -23
  21. package/es/components/tzj-player/src/xgplayer.vue2.mjs.map +1 -1
  22. package/es/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +5 -1
  23. package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs +3 -3
  24. package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs.map +1 -1
  25. package/es/installer.d.ts +1 -1
  26. package/es/installer.mjs.map +1 -1
  27. package/lib/components/tzj-player/index.d.ts +40 -8
  28. package/lib/components/tzj-player/src/ctyun-player.vue.d.ts +5 -1
  29. package/lib/components/tzj-player/src/easyPlayer.vue.d.ts +5 -1
  30. package/lib/components/tzj-player/src/easyPlayer.vue2.js +128 -80
  31. package/lib/components/tzj-player/src/easyPlayer.vue2.js.map +1 -1
  32. package/lib/components/tzj-player/src/newPlayer.vue.d.ts +7 -0
  33. package/lib/components/tzj-player/src/newPlayer.vue.js +10 -0
  34. package/lib/components/tzj-player/src/newPlayer.vue.js.map +1 -0
  35. package/lib/components/tzj-player/src/newPlayer.vue2.js +71 -0
  36. package/lib/components/tzj-player/src/newPlayer.vue2.js.map +1 -0
  37. package/lib/components/tzj-player/src/tzj-player.vue.d.ts +40 -8
  38. package/lib/components/tzj-player/src/tzj-player.vue2.js +5 -5
  39. package/lib/components/tzj-player/src/tzj-player.vue2.js.map +1 -1
  40. package/lib/components/tzj-player/src/xgplayer.vue.d.ts +5 -1
  41. package/lib/components/tzj-player/src/xgplayer.vue2.js +76 -22
  42. package/lib/components/tzj-player/src/xgplayer.vue2.js.map +1 -1
  43. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +5 -1
  44. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js +3 -3
  45. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js.map +1 -1
  46. package/lib/installer.d.ts +1 -1
  47. package/lib/installer.js.map +1 -1
  48. package/package.json +1 -1
  49. package/theme-default/i-tzj-player.css +1 -1
  50. package/theme-default/index.css +1 -1
@@ -1494,6 +1494,9 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
1494
1494
  videoInfo: import("vue").Ref<any, any>;
1495
1495
  realFullscreen: import("vue").Ref<boolean, boolean>;
1496
1496
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
1497
+ waitTimer: number | null;
1498
+ restartTimer: import("vue").Ref<number | null, number | null>;
1499
+ isUnmounted: boolean;
1497
1500
  play: (url?: string) => void;
1498
1501
  playerPause: () => void;
1499
1502
  playerScreenShot: () => void;
@@ -1503,7 +1506,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
1503
1506
  removePlayerDom: () => void;
1504
1507
  createPlayerDom: () => void;
1505
1508
  createPlayer: () => Promise<void>;
1506
- destroy: () => void;
1509
+ startPlayer: () => Promise<void>;
1510
+ destroy: (flag?: boolean) => void;
1507
1511
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
1508
1512
  videoName: {
1509
1513
  type: StringConstructor;
@@ -3198,6 +3202,9 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
3198
3202
  videoInfo: import("vue").Ref<any, any>;
3199
3203
  realFullscreen: import("vue").Ref<boolean, boolean>;
3200
3204
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
3205
+ waitTimer: number | null;
3206
+ restartTimer: import("vue").Ref<number | null, number | null>;
3207
+ isUnmounted: boolean;
3201
3208
  play: (url?: string) => void;
3202
3209
  playerPause: () => void;
3203
3210
  playerScreenShot: () => void;
@@ -3207,7 +3214,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
3207
3214
  removePlayerDom: () => void;
3208
3215
  createPlayerDom: () => void;
3209
3216
  createPlayer: () => Promise<void>;
3210
- destroy: () => void;
3217
+ startPlayer: () => Promise<void>;
3218
+ destroy: (flag?: boolean) => void;
3211
3219
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3212
3220
  videoName: {
3213
3221
  type: StringConstructor;
@@ -3421,6 +3429,9 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
3421
3429
  videoInfo: import("vue").Ref<any, any>;
3422
3430
  realFullscreen: import("vue").Ref<boolean, boolean>;
3423
3431
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
3432
+ waitTimer: number | null;
3433
+ restartTimer: import("vue").Ref<number | null, number | null>;
3434
+ isUnmounted: boolean;
3424
3435
  play: (url?: string) => void;
3425
3436
  playerPause: () => void;
3426
3437
  playerScreenShot: () => void;
@@ -3430,7 +3441,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
3430
3441
  removePlayerDom: () => void;
3431
3442
  createPlayerDom: () => void;
3432
3443
  createPlayer: () => Promise<void>;
3433
- destroy: () => void;
3444
+ startPlayer: () => Promise<void>;
3445
+ destroy: (flag?: boolean) => void;
3434
3446
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3435
3447
  videoName: {
3436
3448
  type: StringConstructor;
@@ -4940,6 +4952,9 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
4940
4952
  videoInfo: import("vue").Ref<any, any>;
4941
4953
  realFullscreen: import("vue").Ref<boolean, boolean>;
4942
4954
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
4955
+ waitTimer: number | null;
4956
+ restartTimer: import("vue").Ref<number | null, number | null>;
4957
+ isUnmounted: boolean;
4943
4958
  play: (url?: string) => void;
4944
4959
  playerPause: () => void;
4945
4960
  playerScreenShot: () => void;
@@ -4949,7 +4964,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
4949
4964
  removePlayerDom: () => void;
4950
4965
  createPlayerDom: () => void;
4951
4966
  createPlayer: () => Promise<void>;
4952
- destroy: () => void;
4967
+ startPlayer: () => Promise<void>;
4968
+ destroy: (flag?: boolean) => void;
4953
4969
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4954
4970
  videoName: {
4955
4971
  type: StringConstructor;
@@ -6642,6 +6658,9 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
6642
6658
  videoInfo: import("vue").Ref<any, any>;
6643
6659
  realFullscreen: import("vue").Ref<boolean, boolean>;
6644
6660
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
6661
+ waitTimer: number | null;
6662
+ restartTimer: import("vue").Ref<number | null, number | null>;
6663
+ isUnmounted: boolean;
6645
6664
  play: (url?: string) => void;
6646
6665
  playerPause: () => void;
6647
6666
  playerScreenShot: () => void;
@@ -6651,7 +6670,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
6651
6670
  removePlayerDom: () => void;
6652
6671
  createPlayerDom: () => void;
6653
6672
  createPlayer: () => Promise<void>;
6654
- destroy: () => void;
6673
+ startPlayer: () => Promise<void>;
6674
+ destroy: (flag?: boolean) => void;
6655
6675
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6656
6676
  videoName: {
6657
6677
  type: StringConstructor;
@@ -6868,6 +6888,9 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
6868
6888
  videoInfo: import("vue").Ref<any, any>;
6869
6889
  realFullscreen: import("vue").Ref<boolean, boolean>;
6870
6890
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
6891
+ waitTimer: number | null;
6892
+ restartTimer: import("vue").Ref<number | null, number | null>;
6893
+ isUnmounted: boolean;
6871
6894
  play: (url?: string) => void;
6872
6895
  playerPause: () => void;
6873
6896
  playerScreenShot: () => void;
@@ -6877,7 +6900,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
6877
6900
  removePlayerDom: () => void;
6878
6901
  createPlayerDom: () => void;
6879
6902
  createPlayer: () => Promise<void>;
6880
- destroy: () => void;
6903
+ startPlayer: () => Promise<void>;
6904
+ destroy: (flag?: boolean) => void;
6881
6905
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6882
6906
  videoName: {
6883
6907
  type: StringConstructor;
@@ -8387,6 +8411,9 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
8387
8411
  videoInfo: import("vue").Ref<any, any>;
8388
8412
  realFullscreen: import("vue").Ref<boolean, boolean>;
8389
8413
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
8414
+ waitTimer: number | null;
8415
+ restartTimer: import("vue").Ref<number | null, number | null>;
8416
+ isUnmounted: boolean;
8390
8417
  play: (url?: string) => void;
8391
8418
  playerPause: () => void;
8392
8419
  playerScreenShot: () => void;
@@ -8396,7 +8423,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
8396
8423
  removePlayerDom: () => void;
8397
8424
  createPlayerDom: () => void;
8398
8425
  createPlayer: () => Promise<void>;
8399
- destroy: () => void;
8426
+ startPlayer: () => Promise<void>;
8427
+ destroy: (flag?: boolean) => void;
8400
8428
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8401
8429
  videoName: {
8402
8430
  type: StringConstructor;
@@ -10089,6 +10117,9 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
10089
10117
  videoInfo: import("vue").Ref<any, any>;
10090
10118
  realFullscreen: import("vue").Ref<boolean, boolean>;
10091
10119
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
10120
+ waitTimer: number | null;
10121
+ restartTimer: import("vue").Ref<number | null, number | null>;
10122
+ isUnmounted: boolean;
10092
10123
  play: (url?: string) => void;
10093
10124
  playerPause: () => void;
10094
10125
  playerScreenShot: () => void;
@@ -10098,7 +10129,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
10098
10129
  removePlayerDom: () => void;
10099
10130
  createPlayerDom: () => void;
10100
10131
  createPlayer: () => Promise<void>;
10101
- destroy: () => void;
10132
+ startPlayer: () => Promise<void>;
10133
+ destroy: (flag?: boolean) => void;
10102
10134
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10103
10135
  videoName: {
10104
10136
  type: StringConstructor;
@@ -1435,6 +1435,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1435
1435
  videoInfo: import("vue").Ref<any, any>;
1436
1436
  realFullscreen: import("vue").Ref<boolean, boolean>;
1437
1437
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
1438
+ waitTimer: number | null;
1439
+ restartTimer: import("vue").Ref<number | null, number | null>;
1440
+ isUnmounted: boolean;
1438
1441
  play: (url?: string) => void;
1439
1442
  playerPause: () => void;
1440
1443
  playerScreenShot: () => void;
@@ -1444,7 +1447,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1444
1447
  removePlayerDom: () => void;
1445
1448
  createPlayerDom: () => void;
1446
1449
  createPlayer: () => Promise<void>;
1447
- destroy: () => void;
1450
+ startPlayer: () => Promise<void>;
1451
+ destroy: (flag?: boolean) => void;
1448
1452
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
1449
1453
  videoName: {
1450
1454
  type: StringConstructor;
@@ -71,6 +71,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
71
71
  videoInfo: import("vue").Ref<any, any>;
72
72
  realFullscreen: import("vue").Ref<boolean, boolean>;
73
73
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
74
+ waitTimer: number | null;
75
+ restartTimer: import("vue").Ref<number | null, number | null>;
76
+ isUnmounted: boolean;
74
77
  play: (url?: string) => void;
75
78
  playerPause: () => void;
76
79
  playerScreenShot: () => void;
@@ -80,7 +83,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
80
83
  removePlayerDom: () => void;
81
84
  createPlayerDom: () => void;
82
85
  createPlayer: () => Promise<void>;
83
- destroy: () => void;
86
+ startPlayer: () => Promise<void>;
87
+ destroy: (flag?: boolean) => void;
84
88
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
85
89
  videoName: {
86
90
  type: StringConstructor;
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var tzjPlayer = require('./tzj-player.js');
7
6
  require('./errorPage.vue.js');
7
+ var tzjPlayer = require('./tzj-player.js');
8
8
  var errorPage_vue_vue_type_script_setup_true_lang = require('./errorPage.vue2.js');
9
9
 
10
10
  var __defProp = Object.defineProperty;
@@ -41,6 +41,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
41
41
  const videoInfo = vue.ref(null);
42
42
  const realFullscreen = vue.ref(false);
43
43
  const eventHandlers = vue.ref(/* @__PURE__ */ new Map());
44
+ let waitTimer = null;
45
+ const restartTimer = vue.ref(null);
46
+ let isUnmounted = false;
44
47
  vue.onMounted(() => {
45
48
  initPlayer(props.url || "");
46
49
  });
@@ -51,6 +54,11 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
51
54
  }
52
55
  );
53
56
  vue.onBeforeUnmount(() => {
57
+ isUnmounted = true;
58
+ if (waitTimer !== null) {
59
+ clearInterval(waitTimer);
60
+ waitTimer = null;
61
+ }
54
62
  if (props.debug) {
55
63
  console.log("\u7EC4\u4EF6\u5378\u8F7D");
56
64
  }
@@ -100,9 +108,11 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
100
108
  } else {
101
109
  (_c = (_b = playerRef.value) == null ? void 0 : _b.requestFullscreen) == null ? void 0 : _c.call(_b);
102
110
  }
111
+ destroy();
103
112
  setTimeout(() => {
104
- destroy();
105
- initPlayer(playUrl.value);
113
+ if (!isUnmounted) {
114
+ initPlayer(playUrl.value);
115
+ }
106
116
  }, 200);
107
117
  }
108
118
  isFullscreen.value = !fullscreen;
@@ -137,6 +147,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
137
147
  if (props.debug) {
138
148
  console.log("\u521D\u59CB\u5316\u64AD\u653E\u5668", url);
139
149
  }
150
+ if (waitTimer !== null) {
151
+ clearInterval(waitTimer);
152
+ waitTimer = null;
153
+ }
140
154
  removePlayerDom();
141
155
  if (url) {
142
156
  playUrl.value = formatUrl(url);
@@ -146,10 +160,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
146
160
  if (typeof window !== "undefined" && (window == null ? void 0 : window.EasyPlayerPro)) {
147
161
  createPlayer();
148
162
  } else if (typeof window !== "undefined") {
149
- const timer = setInterval(() => {
163
+ waitTimer = setInterval(() => {
150
164
  if (window == null ? void 0 : window.EasyPlayerPro) {
151
- createPlayer();
152
- clearInterval(timer);
165
+ clearInterval(waitTimer);
166
+ waitTimer = null;
167
+ if (!isUnmounted) {
168
+ createPlayer();
169
+ }
153
170
  }
154
171
  }, 100);
155
172
  }
@@ -190,78 +207,103 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
190
207
  videoInfo.value = null;
191
208
  createPlayerDom();
192
209
  await vue.nextTick();
193
- if (typeof window !== "undefined" && typeof document !== "undefined") {
194
- player = new window.EasyPlayerPro(document.getElementById(id), {
195
- isLive: true,
196
- // 是否直播
197
- hasAudio: true,
198
- // 是否解析音频
199
- bufferTime: 0.2,
200
- // 缓存时长
201
- stretch: true,
202
- // 加视频拉伸
203
- MSE: false,
204
- WCS: false,
205
- WASM: true,
206
- debug: false,
207
- operateBtns: {
208
- performance: false
209
- },
210
- autoCleanupSourceBuffer: true,
211
- //(对 SourceBuffer 进行自动清理)
212
- autoCleanupMinBackwardDuration: 60
213
- // (指示在执行自动清理时为后向缓冲区保留的持续时间,以秒为单位)
214
- });
215
- }
216
- if (player) {
217
- player.play(playUrl.value);
218
- const timeoutHandler = /* @__PURE__ */ __name(() => {
219
- props.debug && console.log("\u52A0\u8F7D\u8D85\u65F6");
220
- emits("timeout");
221
- playSuccess.value = false;
222
- destroy();
223
- initPlayer(playUrl.value);
224
- }, "timeoutHandler");
225
- const errorHandler = /* @__PURE__ */ __name(() => {
226
- props.debug && console.log("\u64AD\u653E\u5F02\u5E38");
227
- emits("error");
228
- playSuccess.value = false;
229
- destroy();
230
- }, "errorHandler");
231
- const playHandler = /* @__PURE__ */ __name(() => {
232
- playSuccess.value = true;
233
- props.debug && console.log("\u64AD\u653E");
234
- emits("play");
235
- }, "playHandler");
236
- const pauseHandler = /* @__PURE__ */ __name(() => {
237
- props.debug && console.log("\u6682\u505C");
238
- emits("pause");
239
- }, "pauseHandler");
240
- const videoInfoHandler = /* @__PURE__ */ __name((info) => {
241
- props.debug && console.log("\u89C6\u9891\u4FE1\u606F", info);
242
- videoInfo.value = info;
243
- emits("videoInfo", info);
244
- }, "videoInfoHandler");
245
- const muteHandler = /* @__PURE__ */ __name((mute) => {
246
- props.debug && console.log("\u9759\u97F3");
247
- emits("mute", mute);
248
- }, "muteHandler");
249
- player.on("timeout", timeoutHandler);
250
- player.on("error", errorHandler);
251
- player.on("play", playHandler);
252
- player.on("pause", pauseHandler);
253
- player.on("videoInfo", videoInfoHandler);
254
- player.on("mute", muteHandler);
255
- eventHandlers.value.set("timeout", timeoutHandler);
256
- eventHandlers.value.set("error", errorHandler);
257
- eventHandlers.value.set("play", playHandler);
258
- eventHandlers.value.set("pause", pauseHandler);
259
- eventHandlers.value.set("videoInfo", videoInfoHandler);
260
- eventHandlers.value.set("mute", muteHandler);
210
+ if (restartTimer.value !== null) {
211
+ clearInterval(restartTimer.value);
212
+ restartTimer.value = null;
261
213
  }
214
+ restartTimer.value = setInterval(
215
+ () => {
216
+ destroy(false);
217
+ setTimeout(() => {
218
+ startPlayer();
219
+ }, 1e3 * 20);
220
+ },
221
+ 1e3 * 60 * 60
222
+ );
223
+ startPlayer();
262
224
  }
263
225
  __name(createPlayer, "createPlayer");
264
- function destroy() {
226
+ async function startPlayer() {
227
+ try {
228
+ if (typeof window !== "undefined" && typeof document !== "undefined") {
229
+ player = new window.EasyPlayerPro(document.getElementById(id), {
230
+ isLive: true,
231
+ // 是否直播
232
+ hasAudio: true,
233
+ // 是否解析音频
234
+ bufferTime: 0,
235
+ // 直播监控缓存时长设为0,减少内存堆积
236
+ stretch: true,
237
+ // 加视频拉伸
238
+ MSE: false,
239
+ WCS: false,
240
+ WASM: true,
241
+ debug: false,
242
+ // operateBtns: {
243
+ // performance: false,
244
+ // },
245
+ autoCleanupSourceBuffer: true,
246
+ //(对 SourceBuffer 进行自动清理)
247
+ // H.265 直播监控场景:后向缓冲区保留时长设为0,避免长时间占用大量内存
248
+ // 原值60秒会导致H.265高码率视频内存持续增长
249
+ autoCleanupMinBackwardDuration: 0
250
+ });
251
+ }
252
+ if (player) {
253
+ player.play(playUrl.value);
254
+ const timeoutHandler = /* @__PURE__ */ __name(() => {
255
+ props.debug && console.log("\u52A0\u8F7D\u8D85\u65F6");
256
+ emits("timeout");
257
+ playSuccess.value = false;
258
+ destroy();
259
+ initPlayer(playUrl.value);
260
+ }, "timeoutHandler");
261
+ const errorHandler = /* @__PURE__ */ __name(() => {
262
+ props.debug && console.log("\u64AD\u653E\u5F02\u5E38");
263
+ emits("error");
264
+ playSuccess.value = false;
265
+ destroy();
266
+ }, "errorHandler");
267
+ const playHandler = /* @__PURE__ */ __name(() => {
268
+ playSuccess.value = true;
269
+ props.debug && console.log("\u64AD\u653E");
270
+ emits("play");
271
+ }, "playHandler");
272
+ const pauseHandler = /* @__PURE__ */ __name(() => {
273
+ props.debug && console.log("\u6682\u505C");
274
+ emits("pause");
275
+ }, "pauseHandler");
276
+ const videoInfoHandler = /* @__PURE__ */ __name((info) => {
277
+ props.debug && console.log("\u89C6\u9891\u4FE1\u606F", info);
278
+ videoInfo.value = info;
279
+ emits("videoInfo", info);
280
+ }, "videoInfoHandler");
281
+ const muteHandler = /* @__PURE__ */ __name((mute) => {
282
+ props.debug && console.log("\u9759\u97F3");
283
+ emits("mute", mute);
284
+ }, "muteHandler");
285
+ player.on("timeout", timeoutHandler);
286
+ player.on("error", errorHandler);
287
+ player.on("play", playHandler);
288
+ player.on("pause", pauseHandler);
289
+ player.on("videoInfo", videoInfoHandler);
290
+ player.on("mute", muteHandler);
291
+ eventHandlers.value.set("timeout", timeoutHandler);
292
+ eventHandlers.value.set("error", errorHandler);
293
+ eventHandlers.value.set("play", playHandler);
294
+ eventHandlers.value.set("pause", pauseHandler);
295
+ eventHandlers.value.set("videoInfo", videoInfoHandler);
296
+ eventHandlers.value.set("mute", muteHandler);
297
+ }
298
+ } catch (error) {
299
+ console.error("\u521B\u5EFA\u64AD\u653E\u5668\u5931\u8D25:", error);
300
+ setTimeout(() => {
301
+ startPlayer();
302
+ }, 1e3);
303
+ }
304
+ }
305
+ __name(startPlayer, "startPlayer");
306
+ function destroy(flag = true) {
265
307
  if (player) {
266
308
  eventHandlers.value.forEach((handler, eventName) => {
267
309
  player.off(eventName, handler);
@@ -270,7 +312,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
270
312
  player.destroy();
271
313
  player = null;
272
314
  }
273
- removePlayerDom();
315
+ if (flag) {
316
+ if (restartTimer.value !== null) {
317
+ clearInterval(restartTimer.value);
318
+ restartTimer.value = null;
319
+ }
320
+ removePlayerDom();
321
+ }
274
322
  }
275
323
  __name(destroy, "destroy");
276
324
  return (_ctx, _cache) => {
@@ -301,14 +349,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
301
349
  ])) : vue.createCommentVNode("v-if", true),
302
350
  !playSuccess.value ? (vue.openBlock(), vue.createBlock(errorPage_vue_vue_type_script_setup_true_lang.default, {
303
351
  key: 1,
304
- videoName: _ctx.areaName || _ctx.deviceSerial,
352
+ "video-name": _ctx.areaName || _ctx.deviceSerial,
305
353
  message: "\u65E0\u4FE1\u53F7"
306
- }, null, 8, ["videoName"])) : vue.createCommentVNode("v-if", true),
354
+ }, null, 8, ["video-name"])) : vue.createCommentVNode("v-if", true),
307
355
  !playUrl.value ? (vue.openBlock(), vue.createBlock(errorPage_vue_vue_type_script_setup_true_lang.default, {
308
356
  key: 2,
309
- videoName: _ctx.areaName || _ctx.deviceSerial,
357
+ "video-name": _ctx.areaName || _ctx.deviceSerial,
310
358
  message: "\u65E0\u64AD\u653E\u5730\u5740"
311
- }, null, 8, ["videoName"])) : vue.createCommentVNode("v-if", true),
359
+ }, null, 8, ["video-name"])) : vue.createCommentVNode("v-if", true),
312
360
  vue.createCommentVNode(" \u64AD\u653E\u5668\u5E95\u90E8\u64CD\u4F5C\u680F "),
313
361
  vue.renderSlot(_ctx.$slots, "customBar")
314
362
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"easyPlayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/easyPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n useSlots,\n watch,\n} from \"vue\";\nimport { TzjPlayerProps, uuid } from \"./tzj-player\";\nimport ErrorPage from \"./errorPage.vue\";\n\ndefineOptions({\n name: \"EasyPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst emits = defineEmits([\n \"timeout\",\n \"error\",\n \"play\",\n \"pause\",\n \"mute\",\n \"videoInfo\",\n]);\nconst slots = useSlots();\nconst customBar = computed(() => slots.customBar);\n\nlet player: any = null;\nconst id = uuid();\nconst playerRef = shallowRef<HTMLDivElement>();\nconst playSuccess = ref(true);\nconst playUrl = ref(\"\");\nconst isFullscreen = ref(false);\nconst videoInfo = ref<any>(null);\nconst realFullscreen = ref(false);\nconst eventHandlers = ref<Map<string, Function>>(new Map());\nonMounted(() => {\n initPlayer(props.url || \"\");\n});\n\nwatch(\n () => props.url,\n (newUrl: string) => {\n initPlayer(newUrl || \"\");\n },\n);\n\nonBeforeUnmount(() => {\n if (props.debug) {\n console.log(\"组件卸载\");\n }\n playUrl.value = \"\";\n destroy();\n});\n\nconst play = (url?: string) => {\n if (url) {\n initPlayer(url);\n } else {\n if (player) {\n player.play(playUrl.value);\n } else {\n destroy();\n }\n }\n};\n\nconst playerPause = () => {\n if (props.debug) {\n console.log(\"暂停\");\n }\n player?.pause?.();\n};\n\nconst playerScreenShot = () => {\n if (props.debug) {\n console.log(\"截图\");\n }\n player?.screenshot?.(\n `${props.areaName}_${new Date().getTime()}`,\n \"png\",\n 0.5,\n \"download\",\n );\n};\n\nconst playerFullscreen = (fullscreen: boolean) => {\n realFullscreen.value = fullscreen;\n if (props.debug) {\n console.log(\"全屏\");\n }\n // 自定义全屏逻辑\n if (typeof document !== \"undefined\") {\n if (!fullscreen) {\n document.exitFullscreen?.();\n } else {\n playerRef.value?.requestFullscreen?.();\n }\n setTimeout(() => {\n destroy();\n initPlayer(playUrl.value);\n }, 200);\n }\n isFullscreen.value = !fullscreen;\n};\ndefineExpose({\n play,\n destroy,\n getPlayer: () => player,\n pause: playerPause,\n screenshot: playerScreenShot,\n fullscreen: playerFullscreen,\n isMute: () => {\n return player?.isMute?.();\n },\n setMute: (mute: number) => {\n player?.setMute?.(mute);\n },\n});\n\n/**\n * 格式化URL,确保使用完整的URL\n * @param url - 原始URL\n * @returns 格式化后的URL\n */\nconst formatUrl = (url: string): string => {\n if (!url) return \"\";\n\n // 如果已经是完整URL,直接返回\n if (url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n return url;\n }\n\n // 检查是否在浏览器环境中,避免SSR环境下的location访问错误\n if (typeof window !== \"undefined\" && window.location) {\n // 如果是相对路径,添加当前域名\n return `${window.location.origin}${url.startsWith(\"/\") ? \"\" : \"/\"}${url}`;\n }\n\n // SSR 环境下返回相对路径\n return url;\n};\n\nasync function initPlayer(url: string) {\n if (props.debug) {\n console.log(\"初始化播放器\", url);\n }\n removePlayerDom();\n if (url) {\n playUrl.value = formatUrl(url);\n if (props.debug) {\n console.log(\"格式化后的url\", playUrl.value);\n }\n if (typeof window !== \"undefined\" && window?.EasyPlayerPro) {\n createPlayer();\n } else if (typeof window !== \"undefined\") {\n const timer = setInterval(() => {\n if (window?.EasyPlayerPro) {\n createPlayer();\n clearInterval(timer);\n }\n }, 100);\n }\n }\n}\n\n/**\n * 移除播放器DOM\n */\nfunction removePlayerDom() {\n if (typeof document !== \"undefined\") {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n}\n\n/**\n * 创建播放器DOM\n */\nfunction createPlayerDom() {\n removePlayerDom();\n if (typeof document !== \"undefined\") {\n nextTick(() => {\n const dom = document.createElement(\"div\");\n const { width, height } = playerRef.value!.getBoundingClientRect();\n dom.id = id;\n if (realFullscreen.value) {\n dom.style.width = `100vw`;\n dom.style.height =\n props.areaName || props.deviceSerial ? `calc(100vh - 32px)` : `100vh`;\n } else {\n dom.style.width = `${width}px`;\n dom.style.height =\n props.areaName || props.deviceSerial\n ? `${height - 32}px`\n : `${height}px`;\n }\n playerRef.value?.appendChild(dom);\n });\n }\n}\n\nasync function createPlayer() {\n if (props.debug) {\n console.log(\"创建播放器\");\n }\n videoInfo.value = null;\n createPlayerDom();\n await nextTick();\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n player = new window.EasyPlayerPro(document.getElementById(id), {\n isLive: true, // 是否直播\n hasAudio: true, // 是否解析音频\n bufferTime: 0.2, // 缓存时长\n stretch: true, // 加视频拉伸\n MSE: false,\n WCS: false,\n WASM: true,\n debug: false,\n operateBtns: {\n performance: false,\n },\n autoCleanupSourceBuffer: true, //(对 SourceBuffer 进行自动清理)\n\n autoCleanupMinBackwardDuration: 60, // (指示在执行自动清理时为后向缓冲区保留的持续时间,以秒为单位)\n });\n }\n if (player) {\n player.play(playUrl.value);\n\n const timeoutHandler = () => {\n props.debug && console.log(\"加载超时\");\n emits(\"timeout\");\n playSuccess.value = false;\n destroy();\n initPlayer(playUrl.value);\n };\n\n const errorHandler = () => {\n props.debug && console.log(\"播放异常\");\n emits(\"error\");\n playSuccess.value = false;\n destroy();\n };\n\n const playHandler = () => {\n playSuccess.value = true;\n props.debug && console.log(\"播放\");\n emits(\"play\");\n };\n\n const pauseHandler = () => {\n props.debug && console.log(\"暂停\");\n emits(\"pause\");\n };\n\n const videoInfoHandler = (info: any) => {\n props.debug && console.log(\"视频信息\", info);\n videoInfo.value = info;\n emits(\"videoInfo\", info);\n };\n\n const muteHandler = (mute: false) => {\n props.debug && console.log(\"静音\");\n emits(\"mute\", mute);\n };\n\n player.on(\"timeout\", timeoutHandler);\n player.on(\"error\", errorHandler);\n player.on(\"play\", playHandler);\n player.on(\"pause\", pauseHandler);\n player.on(\"videoInfo\", videoInfoHandler);\n player.on(\"mute\", muteHandler);\n\n eventHandlers.value.set(\"timeout\", timeoutHandler);\n eventHandlers.value.set(\"error\", errorHandler);\n eventHandlers.value.set(\"play\", playHandler);\n eventHandlers.value.set(\"pause\", pauseHandler);\n eventHandlers.value.set(\"videoInfo\", videoInfoHandler);\n eventHandlers.value.set(\"mute\", muteHandler);\n }\n}\n\nfunction destroy() {\n if (player) {\n eventHandlers.value.forEach((handler, eventName) => {\n player.off(eventName, handler);\n });\n eventHandlers.value.clear();\n player.destroy();\n player = null;\n }\n removePlayerDom();\n}\n</script>\n\n<template>\n <div\n ref=\"playerRef\"\n class=\"i-tzj-easyPlayer\"\n :class=\"customBar ? 'i-tzj-easyPlayer--custom' : ''\"\n >\n <!-- 播放器顶部显示区域(设备)名称 -->\n <div v-if=\"areaName || deviceSerial\" class=\"i-tzj-easyPlayer__top\">\n <i class=\"iconfont icon-shexiangtou4\" />\n <span>{{ areaName || deviceSerial }}</span>\n </div>\n <error-page\n :videoName=\"areaName || deviceSerial\"\n message=\"无信号\"\n v-if=\"!playSuccess\"\n />\n <error-page\n :videoName=\"areaName || deviceSerial\"\n message=\"无播放地址\"\n v-if=\"!playUrl\"\n />\n\n <!-- 播放器底部操作栏 -->\n <slot name=\"customBar\" />\n </div>\n</template>\n"],"names":["useSlots","computed","uuid","shallowRef","ref","onMounted","watch","onBeforeUnmount","nextTick","_createElementBlock","_normalizeClass","_createCommentVNode","areaName","deviceSerial","_openBlock","_createElementVNode","_toDisplayString","_createBlock","ErrorPage","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"easyPlayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/easyPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n useSlots,\n watch,\n} from \"vue\";\nimport ErrorPage from \"./errorPage.vue\";\nimport { TzjPlayerProps, uuid } from \"./tzj-player\";\n\ndefineOptions({\n name: \"EasyPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst emits = defineEmits([\n \"timeout\",\n \"error\",\n \"play\",\n \"pause\",\n \"mute\",\n \"videoInfo\",\n]);\nconst slots = useSlots();\nconst customBar = computed(() => slots.customBar);\n\nlet player: any = null;\nconst id = uuid();\nconst playerRef = shallowRef<HTMLDivElement>();\nconst playSuccess = ref(true);\nconst playUrl = ref(\"\");\nconst isFullscreen = ref(false);\nconst videoInfo = ref<any>(null);\nconst realFullscreen = ref(false);\nconst eventHandlers = ref<Map<string, Function>>(new Map());\n// 用于追踪等待 EasyPlayerPro 加载的轮询定时器,防止组件卸载后泄漏\nlet waitTimer: ReturnType<typeof setInterval> | null = null;\n// 用于定时重启播放器的定时器,防止播放器卡死\nconst restartTimer = ref<ReturnType<typeof setInterval> | null>(null);\n// 标记组件是否已卸载,防止卸载后的异步操作继续执行\nlet isUnmounted = false;\nonMounted(() => {\n initPlayer(props.url || \"\");\n});\n\nwatch(\n () => props.url,\n (newUrl: string) => {\n initPlayer(newUrl || \"\");\n },\n);\n\nonBeforeUnmount(() => {\n isUnmounted = true;\n // 清除等待 EasyPlayerPro 加载的轮询定时器,防止卸载后继续创建播放器\n if (waitTimer !== null) {\n clearInterval(waitTimer);\n waitTimer = null;\n }\n if (props.debug) {\n console.log(\"组件卸载\");\n }\n playUrl.value = \"\";\n destroy();\n});\n\nconst play = (url?: string) => {\n if (url) {\n initPlayer(url);\n } else {\n if (player) {\n player.play(playUrl.value);\n } else {\n destroy();\n }\n }\n};\n\nconst playerPause = () => {\n if (props.debug) {\n console.log(\"暂停\");\n }\n player?.pause?.();\n};\n\nconst playerScreenShot = () => {\n if (props.debug) {\n console.log(\"截图\");\n }\n player?.screenshot?.(\n `${props.areaName}_${new Date().getTime()}`,\n \"png\",\n 0.5,\n \"download\",\n );\n};\n\nconst playerFullscreen = (fullscreen: boolean) => {\n realFullscreen.value = fullscreen;\n if (props.debug) {\n console.log(\"全屏\");\n }\n // 自定义全屏逻辑\n if (typeof document !== \"undefined\") {\n if (!fullscreen) {\n document.exitFullscreen?.();\n } else {\n playerRef.value?.requestFullscreen?.();\n }\n // 先同步销毁,再延迟重建,避免异步销毁时组件已卸载导致实例泄漏\n destroy();\n setTimeout(() => {\n if (!isUnmounted) {\n initPlayer(playUrl.value);\n }\n }, 200);\n }\n isFullscreen.value = !fullscreen;\n};\ndefineExpose({\n play,\n destroy,\n getPlayer: () => player,\n pause: playerPause,\n screenshot: playerScreenShot,\n fullscreen: playerFullscreen,\n isMute: () => {\n return player?.isMute?.();\n },\n setMute: (mute: number) => {\n player?.setMute?.(mute);\n },\n});\n\n/**\n * 格式化URL,确保使用完整的URL\n * @param url - 原始URL\n * @returns 格式化后的URL\n */\nconst formatUrl = (url: string): string => {\n if (!url) return \"\";\n\n // 如果已经是完整URL,直接返回\n if (url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n return url;\n }\n\n // 检查是否在浏览器环境中,避免SSR环境下的location访问错误\n if (typeof window !== \"undefined\" && window.location) {\n // 如果是相对路径,添加当前域名\n return `${window.location.origin}${url.startsWith(\"/\") ? \"\" : \"/\"}${url}`;\n }\n\n // SSR 环境下返回相对路径\n return url;\n};\n\nasync function initPlayer(url: string) {\n if (props.debug) {\n console.log(\"初始化播放器\", url);\n }\n // 清除上一次可能残留的轮询定时器\n if (waitTimer !== null) {\n clearInterval(waitTimer);\n waitTimer = null;\n }\n removePlayerDom();\n if (url) {\n playUrl.value = formatUrl(url);\n if (props.debug) {\n console.log(\"格式化后的url\", playUrl.value);\n }\n if (typeof window !== \"undefined\" && window?.EasyPlayerPro) {\n createPlayer();\n } else if (typeof window !== \"undefined\") {\n waitTimer = setInterval(() => {\n if (window?.EasyPlayerPro) {\n clearInterval(waitTimer!);\n waitTimer = null;\n // 组件已卸载则不再创建播放器\n if (!isUnmounted) {\n createPlayer();\n }\n }\n }, 100);\n }\n }\n}\n\n/**\n * 移除播放器DOM\n */\nfunction removePlayerDom() {\n if (typeof document !== \"undefined\") {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n}\n\n/**\n * 创建播放器DOM\n */\nfunction createPlayerDom() {\n removePlayerDom();\n if (typeof document !== \"undefined\") {\n nextTick(() => {\n const dom = document.createElement(\"div\");\n const { width, height } = playerRef.value!.getBoundingClientRect();\n dom.id = id;\n if (realFullscreen.value) {\n dom.style.width = `100vw`;\n dom.style.height =\n props.areaName || props.deviceSerial ? `calc(100vh - 32px)` : `100vh`;\n } else {\n dom.style.width = `${width}px`;\n dom.style.height =\n props.areaName || props.deviceSerial\n ? `${height - 32}px`\n : `${height}px`;\n }\n playerRef.value?.appendChild(dom);\n });\n }\n}\n\nasync function createPlayer() {\n if (props.debug) {\n console.log(\"创建播放器\");\n }\n videoInfo.value = null;\n createPlayerDom();\n await nextTick();\n // 每30秒重启一次播放器,防止播放器卡死\n if (restartTimer.value !== null) {\n clearInterval(restartTimer.value);\n restartTimer.value = null;\n }\n restartTimer.value = setInterval(\n () => {\n destroy(false);\n setTimeout(() => {\n startPlayer();\n }, 1000 * 20);\n },\n 1000 * 60 * 60,\n );\n startPlayer();\n}\n\nasync function startPlayer() {\n try {\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n player = new window.EasyPlayerPro(document.getElementById(id), {\n isLive: true, // 是否直播\n hasAudio: true, // 是否解析音频\n bufferTime: 0, // 直播监控缓存时长设为0,减少内存堆积\n stretch: true, // 加视频拉伸\n MSE: false,\n WCS: false,\n WASM: true,\n debug: false,\n // operateBtns: {\n // performance: false,\n // },\n autoCleanupSourceBuffer: true, //(对 SourceBuffer 进行自动清理)\n // H.265 直播监控场景:后向缓冲区保留时长设为0,避免长时间占用大量内存\n // 原值60秒会导致H.265高码率视频内存持续增长\n autoCleanupMinBackwardDuration: 0,\n });\n }\n if (player) {\n player.play(playUrl.value);\n\n const timeoutHandler = () => {\n props.debug && console.log(\"加载超时\");\n emits(\"timeout\");\n playSuccess.value = false;\n destroy();\n initPlayer(playUrl.value);\n };\n\n const errorHandler = () => {\n props.debug && console.log(\"播放异常\");\n emits(\"error\");\n playSuccess.value = false;\n destroy();\n };\n\n const playHandler = () => {\n playSuccess.value = true;\n props.debug && console.log(\"播放\");\n emits(\"play\");\n };\n\n const pauseHandler = () => {\n props.debug && console.log(\"暂停\");\n emits(\"pause\");\n };\n\n const videoInfoHandler = (info: any) => {\n props.debug && console.log(\"视频信息\", info);\n videoInfo.value = info;\n emits(\"videoInfo\", info);\n };\n\n const muteHandler = (mute: false) => {\n props.debug && console.log(\"静音\");\n emits(\"mute\", mute);\n };\n\n player.on(\"timeout\", timeoutHandler);\n player.on(\"error\", errorHandler);\n player.on(\"play\", playHandler);\n player.on(\"pause\", pauseHandler);\n player.on(\"videoInfo\", videoInfoHandler);\n player.on(\"mute\", muteHandler);\n\n eventHandlers.value.set(\"timeout\", timeoutHandler);\n eventHandlers.value.set(\"error\", errorHandler);\n eventHandlers.value.set(\"play\", playHandler);\n eventHandlers.value.set(\"pause\", pauseHandler);\n eventHandlers.value.set(\"videoInfo\", videoInfoHandler);\n eventHandlers.value.set(\"mute\", muteHandler);\n }\n } catch (error) {\n console.error(\"创建播放器失败:\", error);\n setTimeout(() => {\n startPlayer();\n }, 1000);\n }\n}\n\nfunction destroy(flag = true) {\n if (player) {\n eventHandlers.value.forEach((handler, eventName) => {\n player.off(eventName, handler);\n });\n eventHandlers.value.clear();\n player.destroy();\n player = null;\n }\n\n if (flag) {\n // 清除定时重启播放器的定时器\n if (restartTimer.value !== null) {\n clearInterval(restartTimer.value);\n restartTimer.value = null;\n }\n removePlayerDom();\n }\n}\n</script>\n\n<template>\n <div\n ref=\"playerRef\"\n class=\"i-tzj-easyPlayer\"\n :class=\"customBar ? 'i-tzj-easyPlayer--custom' : ''\"\n >\n <!-- 播放器顶部显示区域(设备)名称 -->\n <div v-if=\"areaName || deviceSerial\" class=\"i-tzj-easyPlayer__top\">\n <i class=\"iconfont icon-shexiangtou4\" />\n <span>{{ areaName || deviceSerial }}</span>\n </div>\n <ErrorPage\n v-if=\"!playSuccess\"\n :video-name=\"areaName || deviceSerial\"\n message=\"无信号\"\n />\n <ErrorPage\n v-if=\"!playUrl\"\n :video-name=\"areaName || deviceSerial\"\n message=\"无播放地址\"\n />\n\n <!-- 播放器底部操作栏 -->\n <slot name=\"customBar\" />\n </div>\n</template>\n"],"names":["useSlots","computed","uuid","shallowRef","ref","onMounted","watch","onBeforeUnmount","nextTick","_createElementBlock","_normalizeClass","_createCommentVNode","areaName","deviceSerial","_openBlock","_createElementVNode","_toDisplayString","_createBlock","ErrorPage","_renderSlot"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ player: import("vue").Ref<any, any>;
3
+ destroy: () => void;
4
+ play: () => void;
5
+ initPlayer: () => void;
6
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
7
+ export default _default;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var newPlayer_vue_vue_type_script_setup_true_lang = require('./newPlayer.vue2.js');
6
+
7
+
8
+
9
+ exports.default = newPlayer_vue_vue_type_script_setup_true_lang.default;
10
+ //# sourceMappingURL=newPlayer.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newPlayer.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}