@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
@@ -0,0 +1,71 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ const _hoisted_1 = {
10
+ id: "player",
11
+ class: "w-50 h-50"
12
+ };
13
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
14
+ ...{
15
+ name: ""
16
+ },
17
+ __name: "newPlayer",
18
+ setup(__props) {
19
+ const player = vue.ref(null);
20
+ function destroy() {
21
+ var _a;
22
+ (_a = player.value) == null ? void 0 : _a.destroy();
23
+ player.value = null;
24
+ }
25
+ __name(destroy, "destroy");
26
+ function play() {
27
+ player.value = new window.EasyPlayerPro(document.getElementById("player"), {
28
+ isLive: true,
29
+ // 是否直播
30
+ hasAudio: true,
31
+ // 是否解析音频
32
+ bufferTime: 0.2,
33
+ // 缓存时长
34
+ stretch: true,
35
+ // 加视频拉伸
36
+ MSE: false,
37
+ WCS: false,
38
+ WASM: true,
39
+ gpuDecoder: true,
40
+ debug: false
41
+ // operateBtns: {
42
+ // performance: false,
43
+ // },
44
+ });
45
+ console.log("\u{1F680} ~ player.value:", player.value);
46
+ player.value.play("http://192.168.111.212:8099/tzjzlm/23_39-1/hls.m3u8");
47
+ }
48
+ __name(play, "play");
49
+ function initPlayer() {
50
+ console.log("initPlayer");
51
+ destroy();
52
+ try {
53
+ play();
54
+ } catch (error) {
55
+ setTimeout(() => {
56
+ initPlayer();
57
+ }, 1e3);
58
+ }
59
+ }
60
+ __name(initPlayer, "initPlayer");
61
+ vue.onMounted(() => {
62
+ initPlayer();
63
+ });
64
+ return (_ctx, _cache) => {
65
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1);
66
+ };
67
+ }
68
+ });
69
+
70
+ exports.default = _sfc_main;
71
+ //# sourceMappingURL=newPlayer.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newPlayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/newPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref } from \"vue\";\n\ndefineOptions({\n name: \"\",\n});\nconst player = ref<any>(null);\nfunction destroy() {\n // player.value?.pause();\n player.value?.destroy();\n player.value = null;\n}\nfunction play() {\n player.value = new window.EasyPlayerPro(document.getElementById(\"player\"), {\n isLive: true, // 是否直播\n hasAudio: true, // 是否解析音频\n bufferTime: 0.2, // 缓存时长\n stretch: true, // 加视频拉伸\n MSE: false,\n WCS: false,\n WASM: true,\n gpuDecoder: true,\n debug: false,\n // operateBtns: {\n // performance: false,\n // },\n });\n console.log(\"🚀 ~ player.value:\", player.value);\n\n player.value.play(\"http://192.168.111.212:8099/tzjzlm/23_39-1/hls.m3u8\");\n}\nfunction initPlayer() {\n console.log(\"initPlayer\");\n destroy();\n try {\n play();\n } catch (error) {\n setTimeout(() => {\n initPlayer();\n }, 1000);\n }\n}\n\nonMounted(() => {\n initPlayer();\n});\n</script>\n\n<template>\n <div id=\"player\" class=\"w-50 h-50\" />\n</template>\n\n<style lang=\"scss\" scoped></style>\n"],"names":["ref","onMounted","_openBlock","_createElementBlock"],"mappings":";;;;;;;;;;;;;;;;;;AAMA,IAAM,MAAA,MAAA,GAASA,QAAS,IAAI,CAAA;AAC5B,IAAA,SAAS,OAAU,GAAA;;AAEjB,MAAA,CAAA,EAAA,GAAA,MAAA,CAAO,UAAP,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,EAAA;AACd,MAAA,MAAA,CAAO,KAAQ,GAAA,IAAA;AAAA;AAHR,IAAA,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA;AAKT,IAAA,SAAS,IAAO,GAAA;AACd,MAAA,MAAA,CAAO,QAAQ,IAAI,MAAA,CAAO,cAAc,QAAS,CAAA,cAAA,CAAe,QAAQ,CAAG,EAAA;AAAA,QACzE,MAAQ,EAAA,IAAA;AAAA;AAAA,QACR,QAAU,EAAA,IAAA;AAAA;AAAA,QACV,UAAY,EAAA,GAAA;AAAA;AAAA,QACZ,OAAS,EAAA,IAAA;AAAA;AAAA,QACT,GAAK,EAAA,KAAA;AAAA,QACL,GAAK,EAAA,KAAA;AAAA,QACL,IAAM,EAAA,IAAA;AAAA,QACN,UAAY,EAAA,IAAA;AAAA,QACZ,KAAO,EAAA;AAAA;AAAA;AAAA;AAAA,OAIR,CAAA;AACD,MAAQ,OAAA,CAAA,GAAA,CAAI,2BAAsB,EAAA,MAAA,CAAO,KAAK,CAAA;AAE9C,MAAO,MAAA,CAAA,KAAA,CAAM,KAAK,qDAAqD,CAAA;AAAA;AAjBhE,IAAA,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAmBT,IAAA,SAAS,UAAa,GAAA;AACpB,MAAA,OAAA,CAAQ,IAAI,YAAY,CAAA;AACxB,MAAQ,OAAA,EAAA;AACR,MAAI,IAAA;AACF,QAAK,IAAA,EAAA;AAAA,eACE,KAAO,EAAA;AACd,QAAA,UAAA,CAAW,MAAM;AACf,UAAW,UAAA,EAAA;AAAA,WACV,GAAI,CAAA;AAAA;AACT;AATO,IAAA,MAAA,CAAA,UAAA,EAAA,YAAA,CAAA;AAYT,IAAAC,aAAA,CAAU,MAAM;AACd,MAAW,UAAA,EAAA;AAAA,KACZ,CAAA;;AAIC,MAAA,OAAAC,aAAA,EAAA,EAAAC,sBAAqC,CAAA,KAAA,EAArC,UAAqC,CAAA;AAAA;;;;;;"}
@@ -1493,6 +1493,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1493
1493
  videoInfo: import("vue").Ref<any, any>;
1494
1494
  realFullscreen: import("vue").Ref<boolean, boolean>;
1495
1495
  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>>)>;
1496
+ waitTimer: number | null;
1497
+ restartTimer: import("vue").Ref<number | null, number | null>;
1498
+ isUnmounted: boolean;
1496
1499
  play: (url?: string) => void;
1497
1500
  playerPause: () => void;
1498
1501
  playerScreenShot: () => void;
@@ -1502,7 +1505,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1502
1505
  removePlayerDom: () => void;
1503
1506
  createPlayerDom: () => void;
1504
1507
  createPlayer: () => Promise<void>;
1505
- destroy: () => void;
1508
+ startPlayer: () => Promise<void>;
1509
+ destroy: (flag?: boolean) => void;
1506
1510
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
1507
1511
  videoName: {
1508
1512
  type: StringConstructor;
@@ -3197,6 +3201,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3197
3201
  videoInfo: import("vue").Ref<any, any>;
3198
3202
  realFullscreen: import("vue").Ref<boolean, boolean>;
3199
3203
  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>>)>;
3204
+ waitTimer: number | null;
3205
+ restartTimer: import("vue").Ref<number | null, number | null>;
3206
+ isUnmounted: boolean;
3200
3207
  play: (url?: string) => void;
3201
3208
  playerPause: () => void;
3202
3209
  playerScreenShot: () => void;
@@ -3206,7 +3213,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3206
3213
  removePlayerDom: () => void;
3207
3214
  createPlayerDom: () => void;
3208
3215
  createPlayer: () => Promise<void>;
3209
- destroy: () => void;
3216
+ startPlayer: () => Promise<void>;
3217
+ destroy: (flag?: boolean) => void;
3210
3218
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3211
3219
  videoName: {
3212
3220
  type: StringConstructor;
@@ -3420,6 +3428,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3420
3428
  videoInfo: import("vue").Ref<any, any>;
3421
3429
  realFullscreen: import("vue").Ref<boolean, boolean>;
3422
3430
  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>>)>;
3431
+ waitTimer: number | null;
3432
+ restartTimer: import("vue").Ref<number | null, number | null>;
3433
+ isUnmounted: boolean;
3423
3434
  play: (url?: string) => void;
3424
3435
  playerPause: () => void;
3425
3436
  playerScreenShot: () => void;
@@ -3429,7 +3440,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3429
3440
  removePlayerDom: () => void;
3430
3441
  createPlayerDom: () => void;
3431
3442
  createPlayer: () => Promise<void>;
3432
- destroy: () => void;
3443
+ startPlayer: () => Promise<void>;
3444
+ destroy: (flag?: boolean) => void;
3433
3445
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3434
3446
  videoName: {
3435
3447
  type: StringConstructor;
@@ -4939,6 +4951,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4939
4951
  videoInfo: import("vue").Ref<any, any>;
4940
4952
  realFullscreen: import("vue").Ref<boolean, boolean>;
4941
4953
  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>>)>;
4954
+ waitTimer: number | null;
4955
+ restartTimer: import("vue").Ref<number | null, number | null>;
4956
+ isUnmounted: boolean;
4942
4957
  play: (url?: string) => void;
4943
4958
  playerPause: () => void;
4944
4959
  playerScreenShot: () => void;
@@ -4948,7 +4963,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4948
4963
  removePlayerDom: () => void;
4949
4964
  createPlayerDom: () => void;
4950
4965
  createPlayer: () => Promise<void>;
4951
- destroy: () => void;
4966
+ startPlayer: () => Promise<void>;
4967
+ destroy: (flag?: boolean) => void;
4952
4968
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4953
4969
  videoName: {
4954
4970
  type: StringConstructor;
@@ -6641,6 +6657,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
6641
6657
  videoInfo: import("vue").Ref<any, any>;
6642
6658
  realFullscreen: import("vue").Ref<boolean, boolean>;
6643
6659
  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>>)>;
6660
+ waitTimer: number | null;
6661
+ restartTimer: import("vue").Ref<number | null, number | null>;
6662
+ isUnmounted: boolean;
6644
6663
  play: (url?: string) => void;
6645
6664
  playerPause: () => void;
6646
6665
  playerScreenShot: () => void;
@@ -6650,7 +6669,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
6650
6669
  removePlayerDom: () => void;
6651
6670
  createPlayerDom: () => void;
6652
6671
  createPlayer: () => Promise<void>;
6653
- destroy: () => void;
6672
+ startPlayer: () => Promise<void>;
6673
+ destroy: (flag?: boolean) => void;
6654
6674
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6655
6675
  videoName: {
6656
6676
  type: StringConstructor;
@@ -6867,6 +6887,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
6867
6887
  videoInfo: import("vue").Ref<any, any>;
6868
6888
  realFullscreen: import("vue").Ref<boolean, boolean>;
6869
6889
  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>>)>;
6890
+ waitTimer: number | null;
6891
+ restartTimer: import("vue").Ref<number | null, number | null>;
6892
+ isUnmounted: boolean;
6870
6893
  play: (url?: string) => void;
6871
6894
  playerPause: () => void;
6872
6895
  playerScreenShot: () => void;
@@ -6876,7 +6899,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
6876
6899
  removePlayerDom: () => void;
6877
6900
  createPlayerDom: () => void;
6878
6901
  createPlayer: () => Promise<void>;
6879
- destroy: () => void;
6902
+ startPlayer: () => Promise<void>;
6903
+ destroy: (flag?: boolean) => void;
6880
6904
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6881
6905
  videoName: {
6882
6906
  type: StringConstructor;
@@ -8386,6 +8410,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
8386
8410
  videoInfo: import("vue").Ref<any, any>;
8387
8411
  realFullscreen: import("vue").Ref<boolean, boolean>;
8388
8412
  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>>)>;
8413
+ waitTimer: number | null;
8414
+ restartTimer: import("vue").Ref<number | null, number | null>;
8415
+ isUnmounted: boolean;
8389
8416
  play: (url?: string) => void;
8390
8417
  playerPause: () => void;
8391
8418
  playerScreenShot: () => void;
@@ -8395,7 +8422,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
8395
8422
  removePlayerDom: () => void;
8396
8423
  createPlayerDom: () => void;
8397
8424
  createPlayer: () => Promise<void>;
8398
- destroy: () => void;
8425
+ startPlayer: () => Promise<void>;
8426
+ destroy: (flag?: boolean) => void;
8399
8427
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8400
8428
  videoName: {
8401
8429
  type: StringConstructor;
@@ -10088,6 +10116,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
10088
10116
  videoInfo: import("vue").Ref<any, any>;
10089
10117
  realFullscreen: import("vue").Ref<boolean, boolean>;
10090
10118
  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>>)>;
10119
+ waitTimer: number | null;
10120
+ restartTimer: import("vue").Ref<number | null, number | null>;
10121
+ isUnmounted: boolean;
10091
10122
  play: (url?: string) => void;
10092
10123
  playerPause: () => void;
10093
10124
  playerScreenShot: () => void;
@@ -10097,7 +10128,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
10097
10128
  removePlayerDom: () => void;
10098
10129
  createPlayerDom: () => void;
10099
10130
  createPlayer: () => Promise<void>;
10100
- destroy: () => void;
10131
+ startPlayer: () => Promise<void>;
10132
+ destroy: (flag?: boolean) => void;
10101
10133
  ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
10102
10134
  videoName: {
10103
10135
  type: StringConstructor;
@@ -6,9 +6,9 @@ var vue = require('vue');
6
6
  var lodashEs = require('lodash-es');
7
7
  require('./ctyun-player.vue.js');
8
8
  require('./easyPlayer.vue.js');
9
+ require('./errorPage.vue.js');
9
10
  var tzjPlayer = require('./tzj-player.js');
10
11
  require('./ysPlayer.vue.js');
11
- require('./errorPage.vue.js');
12
12
  require('./yunzhiyanPlayer.vue.js');
13
13
  var yunzhiyanPlayer_vue_vue_type_script_setup_true_lang = require('./yunzhiyanPlayer.vue2.js');
14
14
  var ysPlayer_vue_vue_type_script_setup_true_lang = require('./ysPlayer.vue2.js');
@@ -144,9 +144,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
144
144
  vue.createCommentVNode(" \u9519\u8BEF\u72B6\u6001\u663E\u793A "),
145
145
  errorState.value ? (vue.openBlock(), vue.createBlock(errorPage_vue_vue_type_script_setup_true_lang.default, {
146
146
  key: 0,
147
- videoName: _ctx.areaName || _ctx.deviceSerial,
147
+ "video-name": _ctx.areaName || _ctx.deviceSerial,
148
148
  message: errorState.value.message
149
- }, null, 8, ["videoName", "message"])) : shouldShowPlayer.value ? (vue.openBlock(), vue.createElementBlock(
149
+ }, null, 8, ["video-name", "message"])) : shouldShowPlayer.value ? (vue.openBlock(), vue.createElementBlock(
150
150
  vue.Fragment,
151
151
  { key: 1 },
152
152
  [
@@ -170,9 +170,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
170
170
  [
171
171
  vue.createCommentVNode(" \u65E0\u53EF\u7528\u64AD\u653E\u5668 "),
172
172
  vue.createVNode(errorPage_vue_vue_type_script_setup_true_lang.default, {
173
- videoName: _ctx.areaName || _ctx.deviceSerial,
173
+ "video-name": _ctx.areaName || _ctx.deviceSerial,
174
174
  message: "\u65E0\u4FE1\u53F7"
175
- }, null, 8, ["videoName"])
175
+ }, null, 8, ["video-name"])
176
176
  ],
177
177
  2112
178
178
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
@@ -1 +1 @@
1
- {"version":3,"file":"tzj-player.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, shallowRef, toRefs, watch } from \"vue\";\nimport { debounce } from \"lodash-es\";\nimport CtyunPlayer from \"./ctyun-player.vue\";\nimport EasyPlayer from \"./easyPlayer.vue\";\n// import XgPlayer from \"./xgplayer.vue\";\nimport {\n getVideoType,\n isSupportedProtocol,\n TzjPlayerProps,\n} from \"./tzj-player\";\nimport YsPlayer from \"./ysPlayer.vue\";\nimport ErrorPage from \"./errorPage.vue\";\nimport YunzhiyanPlayer from \"./yunzhiyanPlayer.vue\";\n\ndefineOptions({\n name: \"ITzjPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst { url, platformTypeName, accessToken } = toRefs(props);\n\nconst compRef = shallowRef();\n\n// 防抖处理组件渲染更新,避免频繁切换播放器类型\nconst updatePlayerComponent = debounce(() => {\n // 强制更新组件,销毁旧实例\n if (compRef.value) {\n compRef.value.destroy?.();\n }\n}, 300);\n\n// 监听URL变化,使用防抖处理\nwatch(\n () => [url.value, platformTypeName.value, accessToken.value],\n ([newUrl, newPlatform, newToken], [oldUrl, oldPlatform, oldToken]) => {\n // 只有当值真正发生变化时才更新\n if (\n newUrl !== oldUrl ||\n newPlatform !== oldPlatform ||\n newToken !== oldToken\n ) {\n // 更新播放器组件\n updatePlayerComponent();\n }\n },\n);\n\n/**\n * 平台类型映射表,提升可维护性\n */\nconst PLATFORM_COMPONENTS = {\n 云智眼: YunzhiyanPlayer,\n 萤石云: YsPlayer,\n 天翼云: CtyunPlayer,\n // hls: XgPlayer,\n} as const;\n\n/**\n * 计算当前播放器组件类型\n * 使用计算属性避免重复计算,提升性能\n */\nconst playerComponent = computed(() => {\n // 优先使用指定的平台类型\n if (platformTypeName.value) {\n return (\n PLATFORM_COMPONENTS[\n platformTypeName.value as keyof typeof PLATFORM_COMPONENTS\n ] || EasyPlayer\n );\n }\n\n // 未指定平台类型时,根据URL自动判断\n if (!url.value) {\n return null;\n }\n\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return null;\n }\n\n // ezopen协议使用萤石云播放器\n if (url.value.includes(\"ezopen\")) {\n return YsPlayer;\n }\n\n // 根据视频类型选择播放器\n const videoType = getVideoType(url.value);\n return videoType ? EasyPlayer : null;\n});\n\n/**\n * 计算错误状态信息\n * 统一错误状态管理,提升用户体验\n */\nconst errorState = computed(() => {\n // 云智眼平台不需要URL\n if (\n platformTypeName.value === \"云智眼\" ||\n platformTypeName.value === \"天翼云\"\n ) {\n return null;\n }\n\n // 检查URL是否存在\n if (!url.value) {\n return {\n type: \"no-url\",\n message: \"无视频地址\",\n };\n }\n\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return {\n type: \"unsupported-protocol\",\n message: \"不支持该视频协议\",\n };\n }\n\n // 萤石云平台需要accessToken\n if (\n (platformTypeName.value === \"萤石云\" || url.value.includes(\"ezopen\")) &&\n !accessToken.value\n ) {\n return {\n type: \"no-token\",\n message: \"缺少访问令牌\",\n };\n }\n\n return null;\n});\n\n/**\n * 计算是否显示播放器组件\n */\nconst shouldShowPlayer = computed(() => {\n return !errorState.value && playerComponent.value;\n});\n\n/**\n * 暴露的方法,增加错误处理\n */\ndefineExpose({\n /**\n * 播放视频\n * @param options 播放选项\n */\n play(options?: any) {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.play(options);\n },\n\n /**\n * 销毁播放器\n */\n destroy() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.destroy();\n },\n\n /**\n * 调整播放器尺寸\n */\n resize() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.resize();\n },\n\n /**\n * 获取当前播放器类型\n */\n getPlayerType() {\n return playerComponent.value?.name || null;\n },\n\n /**\n * 获取错误状态\n */\n getErrorState() {\n return errorState.value;\n },\n});\n</script>\n\n<template>\n <div class=\"i-tzj-player\">\n <!-- 错误状态显示 -->\n <error-page\n :videoName=\"areaName || deviceSerial\"\n :message=\"errorState.message\"\n v-if=\"errorState\"\n />\n\n <!-- 播放器组件 -->\n <component\n :is=\"playerComponent\"\n v-else-if=\"shouldShowPlayer\"\n ref=\"compRef\"\n v-bind=\"props\"\n />\n\n <!-- 无可用播放器 -->\n <error-page :videoName=\"areaName || deviceSerial\" message=\"无信号\" v-else />\n </div>\n</template>\n"],"names":["toRefs","shallowRef","debounce","watch","YunzhiyanPlayer","YsPlayer","CtyunPlayer","computed","EasyPlayer","isSupportedProtocol","getVideoType","_openBlock","_createElementBlock","_createCommentVNode","_createBlock","ErrorPage","areaName","deviceSerial","_Fragment","_resolveDynamicComponent","_mergeProps","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"tzj-player.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { debounce } from \"lodash-es\";\nimport { computed, shallowRef, toRefs, watch } from \"vue\";\nimport CtyunPlayer from \"./ctyun-player.vue\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport ErrorPage from \"./errorPage.vue\";\nimport {\n getVideoType,\n isSupportedProtocol,\n TzjPlayerProps,\n} from \"./tzj-player\";\nimport YsPlayer from \"./ysPlayer.vue\";\nimport YunzhiyanPlayer from \"./yunzhiyanPlayer.vue\";\n\ndefineOptions({\n name: \"ITzjPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst { url, platformTypeName, accessToken } = toRefs(props);\n\nconst compRef = shallowRef();\n\n// 防抖处理组件渲染更新,避免频繁切换播放器类型\nconst updatePlayerComponent = debounce(() => {\n // 强制更新组件,销毁旧实例\n if (compRef.value) {\n compRef.value.destroy?.();\n }\n}, 300);\n\n// 监听URL变化,使用防抖处理\nwatch(\n () => [url.value, platformTypeName.value, accessToken.value],\n ([newUrl, newPlatform, newToken], [oldUrl, oldPlatform, oldToken]) => {\n // 只有当值真正发生变化时才更新\n if (\n newUrl !== oldUrl ||\n newPlatform !== oldPlatform ||\n newToken !== oldToken\n ) {\n // 更新播放器组件\n updatePlayerComponent();\n }\n },\n);\n\n/**\n * 平台类型映射表,提升可维护性\n */\nconst PLATFORM_COMPONENTS = {\n 云智眼: YunzhiyanPlayer,\n 萤石云: YsPlayer,\n 天翼云: CtyunPlayer,\n // hls: XgPlayer,\n} as const;\n\n/**\n * 计算当前播放器组件类型\n * 使用计算属性避免重复计算,提升性能\n */\nconst playerComponent = computed(() => {\n // 优先使用指定的平台类型\n if (platformTypeName.value) {\n return (\n PLATFORM_COMPONENTS[\n platformTypeName.value as keyof typeof PLATFORM_COMPONENTS\n ] || EasyPlayer\n );\n }\n\n // 未指定平台类型时,根据URL自动判断\n if (!url.value) {\n return null;\n }\n\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return null;\n }\n\n // ezopen协议使用萤石云播放器\n if (url.value.includes(\"ezopen\")) {\n return YsPlayer;\n }\n\n // 根据视频类型选择播放器\n const videoType = getVideoType(url.value);\n return videoType ? EasyPlayer : null;\n});\n\n/**\n * 计算错误状态信息\n * 统一错误状态管理,提升用户体验\n */\nconst errorState = computed(() => {\n // 云智眼平台不需要URL\n if (\n platformTypeName.value === \"云智眼\" ||\n platformTypeName.value === \"天翼云\"\n ) {\n return null;\n }\n\n // 检查URL是否存在\n if (!url.value) {\n return {\n type: \"no-url\",\n message: \"无视频地址\",\n };\n }\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return {\n type: \"unsupported-protocol\",\n message: \"不支持该视频协议\",\n };\n }\n\n // 萤石云平台需要accessToken\n if (\n (platformTypeName.value === \"萤石云\" || url.value.includes(\"ezopen\")) &&\n !accessToken.value\n ) {\n return {\n type: \"no-token\",\n message: \"缺少访问令牌\",\n };\n }\n\n return null;\n});\n\n/**\n * 计算是否显示播放器组件\n */\nconst shouldShowPlayer = computed(() => {\n return !errorState.value && playerComponent.value;\n});\n\n/**\n * 暴露的方法,增加错误处理\n */\ndefineExpose({\n /**\n * 播放视频\n * @param options 播放选项\n */\n play(options?: any) {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.play(options);\n },\n\n /**\n * 销毁播放器\n */\n destroy() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.destroy();\n },\n\n /**\n * 调整播放器尺寸\n */\n resize() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.resize();\n },\n\n /**\n * 获取当前播放器类型\n */\n getPlayerType() {\n return playerComponent.value?.name || null;\n },\n\n /**\n * 获取错误状态\n */\n getErrorState() {\n return errorState.value;\n },\n});\n</script>\n\n<template>\n <div class=\"i-tzj-player\">\n <!-- 错误状态显示 -->\n <ErrorPage\n v-if=\"errorState\"\n :video-name=\"areaName || deviceSerial\"\n :message=\"errorState.message\"\n />\n\n <!-- 播放器组件 -->\n <component\n :is=\"playerComponent\"\n v-else-if=\"shouldShowPlayer\"\n ref=\"compRef\"\n v-bind=\"props\"\n />\n\n <!-- 无可用播放器 -->\n <ErrorPage v-else :video-name=\"areaName || deviceSerial\" message=\"无信号\" />\n </div>\n</template>\n"],"names":["toRefs","shallowRef","debounce","watch","YunzhiyanPlayer","YsPlayer","CtyunPlayer","computed","EasyPlayer","isSupportedProtocol","getVideoType","_openBlock","_createElementBlock","_createCommentVNode","_createBlock","ErrorPage","areaName","deviceSerial","_Fragment","_resolveDynamicComponent","_mergeProps","_createVNode"],"mappings":"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"}
@@ -57,7 +57,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
57
57
  onTimeout?: ((...args: any[]) => any) | undefined;
58
58
  onMute?: ((...args: any[]) => any) | undefined;
59
59
  }> & {}>;
60
- emits: (event: "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", ...args: any[]) => void;
60
+ isH265Supported: import("vue").Ref<boolean, boolean>;
61
+ showBrowserTip: import("vue").Ref<boolean, boolean>;
62
+ isH265Video: import("vue").Ref<boolean, boolean>;
63
+ checkIsH265Video: (url: string) => boolean;
64
+ checkH265Support: () => any;
61
65
  setCamera: () => void;
62
66
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
63
67
  url: {
@@ -12,24 +12,72 @@ const _hoisted_2 = {
12
12
  key: 0,
13
13
  class: "i-tzj-xgplayer__top"
14
14
  };
15
+ const _hoisted_3 = {
16
+ key: 1,
17
+ class: "i-tzj-xgplayer__browser-tip"
18
+ };
19
+ const _hoisted_4 = {
20
+ key: 2,
21
+ id: "xgplayerId",
22
+ style: { "flex": "1", "height": "0", "width": "100%" }
23
+ };
15
24
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
16
25
  ...{
17
- name: "xgplayer1"
26
+ name: "Xgplayer1"
18
27
  },
19
28
  __name: "xgplayer",
20
29
  props: tzjPlayer.TzjPlayerProps,
21
- emits: [
22
- "timeout",
23
- "error",
24
- "play",
25
- "pause",
26
- "mute",
27
- "videoInfo"
28
- ],
29
- setup(__props, { emit: __emit }) {
30
+ emits: ["timeout", "error", "play", "pause", "mute", "videoInfo"],
31
+ setup(__props) {
30
32
  const props = __props;
31
- const emits = __emit;
33
+ const isH265Supported = vue.ref(true);
34
+ const showBrowserTip = vue.ref(false);
35
+ const isH265Video = vue.ref(false);
36
+ function checkIsH265Video(url) {
37
+ if (!url) return false;
38
+ const urlLower = url.toLowerCase();
39
+ if (urlLower.includes("h265") || urlLower.includes("hevc")) {
40
+ return true;
41
+ }
42
+ if (urlLower.includes(".m3u8")) {
43
+ return true;
44
+ }
45
+ return false;
46
+ }
47
+ __name(checkIsH265Video, "checkIsH265Video");
48
+ function checkH265Support() {
49
+ var _a;
50
+ if (typeof ((_a = window.Player) == null ? void 0 : _a.isHevcSupported) === "function") {
51
+ try {
52
+ return window.Player.isHevcSupported();
53
+ } catch (e) {
54
+ console.error("\u68C0\u6D4B H265 \u652F\u6301\u5931\u8D25:", e);
55
+ return false;
56
+ }
57
+ }
58
+ if (typeof MediaSource !== "undefined") {
59
+ const mediaSource = new MediaSource();
60
+ try {
61
+ return mediaSource.isTypeSupported('video/mp4; codecs="hvc1.1.6.L123"');
62
+ } catch (e) {
63
+ return false;
64
+ }
65
+ }
66
+ return false;
67
+ }
68
+ __name(checkH265Support, "checkH265Support");
32
69
  function setCamera() {
70
+ isH265Video.value = checkIsH265Video(props.url);
71
+ console.log("\u662F\u5426\u4E3A H265 \u89C6\u9891:", isH265Video.value);
72
+ if (isH265Video.value) {
73
+ isH265Supported.value = checkH265Support();
74
+ console.log("H265 \u652F\u6301\u72B6\u6001:", isH265Supported.value);
75
+ if (!isH265Supported.value) {
76
+ showBrowserTip.value = true;
77
+ console.log("H265 \u89C6\u9891\u4F46\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\uFF0C\u663E\u793A\u63D0\u793A");
78
+ return;
79
+ }
80
+ }
33
81
  const config = {
34
82
  id: "xgplayerId",
35
83
  url: props.url,
@@ -64,7 +112,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
64
112
  }
65
113
  };
66
114
  if (window == null ? void 0 : window.Player) {
67
- new window.Player(config);
115
+ const player = new window.Player(config);
116
+ window.__tzjPlayerInstance = player;
68
117
  }
69
118
  }
70
119
  __name(setCamera, "setCamera");
@@ -90,16 +139,21 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
90
139
  /* TEXT */
91
140
  )
92
141
  ])) : vue.createCommentVNode("v-if", true),
93
- _cache[1] || (_cache[1] = vue.createElementVNode(
94
- "div",
95
- {
96
- id: "xgplayerId",
97
- style: { "flex": "1", "height": "0", "width": "100%" }
98
- },
99
- null,
100
- -1
101
- /* CACHED */
102
- ))
142
+ showBrowserTip.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, _cache[1] || (_cache[1] = [
143
+ vue.createElementVNode(
144
+ "div",
145
+ { class: "browser-tip-content" },
146
+ [
147
+ vue.createElementVNode("i", {
148
+ class: "iconfont icon-tishi",
149
+ style: { "color": "#ff9800", "margin-right": "8px" }
150
+ }),
151
+ vue.createElementVNode("span", null, "\u5F53\u524D\u89C6\u9891\u4E3A H265 \u7F16\u7801\uFF0C\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301 H265 \u64AD\u653E\uFF0C\u8BF7\u4F7F\u7528 Chrome \u6D4F\u89C8\u5668\u89C2\u770B")
152
+ ],
153
+ -1
154
+ /* CACHED */
155
+ )
156
+ ]))) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4))
103
157
  ]);
104
158
  };
105
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xgplayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/xgplayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted } from \"vue\";\nimport { TzjPlayerProps } from \"./tzj-player\";\n\ndefineOptions({\n name: \"xgplayer1\",\n});\nconst props = defineProps(TzjPlayerProps);\nconst emits = defineEmits([\n \"timeout\",\n \"error\",\n \"play\",\n \"pause\",\n \"mute\",\n \"videoInfo\",\n]);\nfunction setCamera() {\n const config = {\n id: \"xgplayerId\",\n url: props.url,\n playsinline: true,\n plugins: [window.HlsPlayer],\n isLive: true,\n autoplayMuted: true,\n autoplay: true,\n playbackRate: [null],\n // Edge特定优化\n videoAttributes: {\n playsInline: true,\n crossOrigin: \"anonymous\",\n },\n live: {\n alwaysLive: true, // 保持直播状态,避免切换为点播\n minCacheTime: 1,\n maxCacheTime: 3,\n },\n // Edge特有优化\n customPlayback: false, // 禁用可能冲突的自定义播放逻辑\n ignoreMutedError: true, // 忽略静音状态错误\n edgeCompat: true, // 西瓜播放器Edge兼容模式(v3.0+支持)\n mediaDataSource: {\n cors: true,\n withCredentials: false, // 避免跨域凭证问题\n },\n };\n if (window?.Player) {\n new window.Player(config);\n }\n}\nonMounted(() => {\n setCamera();\n});\n</script>\n\n<template>\n <div class=\"i-tzj-xgplayer\">\n <!-- 播放器顶部显示区域(设备)名称 -->\n <div v-if=\"areaName || deviceSerial\" class=\"i-tzj-xgplayer__top\">\n <i class=\"iconfont icon-shexiangtou4\" />\n <span>{{ areaName || deviceSerial }}</span>\n </div>\n <div id=\"xgplayerId\" style=\"flex: 1; height: 0; width: 100%\"></div>\n </div>\n</template>\n"],"names":["onMounted","_openBlock","_createElementBlock","_createCommentVNode","areaName","deviceSerial","_createElementVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAQd,IAAA,SAAS,SAAY,GAAA;AACnB,MAAA,MAAM,MAAS,GAAA;AAAA,QACb,EAAI,EAAA,YAAA;AAAA,QACJ,KAAK,KAAM,CAAA,GAAA;AAAA,QACX,WAAa,EAAA,IAAA;AAAA,QACb,OAAA,EAAS,CAAC,MAAA,CAAO,SAAS,CAAA;AAAA,QAC1B,MAAQ,EAAA,IAAA;AAAA,QACR,aAAe,EAAA,IAAA;AAAA,QACf,QAAU,EAAA,IAAA;AAAA,QACV,YAAA,EAAc,CAAC,IAAI,CAAA;AAAA;AAAA,QAEnB,eAAiB,EAAA;AAAA,UACf,WAAa,EAAA,IAAA;AAAA,UACb,WAAa,EAAA;AAAA,SACf;AAAA,QACA,IAAM,EAAA;AAAA,UACJ,UAAY,EAAA,IAAA;AAAA;AAAA,UACZ,YAAc,EAAA,CAAA;AAAA,UACd,YAAc,EAAA;AAAA,SAChB;AAAA;AAAA,QAEA,cAAgB,EAAA,KAAA;AAAA;AAAA,QAChB,gBAAkB,EAAA,IAAA;AAAA;AAAA,QAClB,UAAY,EAAA,IAAA;AAAA;AAAA,QACZ,eAAiB,EAAA;AAAA,UACf,IAAM,EAAA,IAAA;AAAA,UACN,eAAiB,EAAA;AAAA;AAAA;AACnB,OACF;AACA,MAAA,IAAI,iCAAQ,MAAQ,EAAA;AAClB,QAAI,IAAA,MAAA,CAAO,OAAO,MAAM,CAAA;AAAA;AAC1B;AA/BO,IAAA,MAAA,CAAA,SAAA,EAAA,WAAA,CAAA;AAiCT,IAAAA,aAAA,CAAU,MAAM;AACd,MAAU,SAAA,EAAA;AAAA,KACX,CAAA;;AAIC,MAAA,OAAAC,aAAA,EAAA,EAAAC,sBAOM,CAAA,KAAA,EAPN,UAOM,EAAA;AAAA,QANJC,uBAAwB,oFAAA,CAAA;AAAA,QACbC,IAAAA,CAAAA,YAAYC,IAAY,CAAA,YAAA,IAAnCJ,eAAA,EAAAC,sBAAA,CAGM,OAHN,UAGM,EAAA;AAAA,iCAFJ,GAAAI,sBAAA;AAAA,YAAwC,GAAA;AAAA,YAAA,EAArC,OAAM,4BAA4B,EAAA;AAAA,YAAA,IAAA;AAAA,YAAA,CAAA;AAAA;AAAA,WAAA,CAAA;AAAA,UACrCA,sBAAA;AAAA,YAA2C,MAAA;AAAA,YAAA,IAAA;AAAA,YAAAC,mBAAlCH,CAAAA,IAAAA,CAAQ,QAAIC,IAAAA,IAAAA,CAAY,YAAA,CAAA;AAAA,YAAA;AAAA;AAAA;AAAA;+BAEnC,GAAAC,sBAAA;AAAA,UAAmE,KAAA;AAAA,UAAA;AAAA,YAA9D,EAAG,EAAA,YAAA;AAAA,YAAa,OAAA,EAAuC,MAAA,EAAA,KAAA,QAAA,EAAA,GAAA,EAAA,SAAA,MAAA;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"xgplayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/xgplayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref } from \"vue\";\nimport { TzjPlayerProps } from \"./tzj-player\";\n\ndefineOptions({\n name: \"Xgplayer1\",\n});\nconst props = defineProps(TzjPlayerProps);\ndefineEmits([\"timeout\", \"error\", \"play\", \"pause\", \"mute\", \"videoInfo\"]);\n\nconst isH265Supported = ref(true);\nconst showBrowserTip = ref(false);\nconst isH265Video = ref(false);\n\n// 检测是否为 H265 视频(通过 URL 或视频类型判断)\nfunction checkIsH265Video(url: string): boolean {\n if (!url) return false;\n\n // 通过 URL 路径判断\n const urlLower = url.toLowerCase();\n if (urlLower.includes(\"h265\") || urlLower.includes(\"hevc\")) {\n return true;\n }\n\n // HLS m3u8 文件需要进一步检测\n if (urlLower.includes(\".m3u8\")) {\n // 如果 URL 明确标识为 h265,返回 true\n return true;\n }\n\n return false;\n}\n\n// 检测是否支持 H265 编码\nfunction checkH265Support() {\n if (typeof window.Player?.isHevcSupported === \"function\") {\n try {\n return window.Player.isHevcSupported();\n } catch (e) {\n console.error(\"检测 H265 支持失败:\", e);\n return false;\n }\n }\n // 备用检测方法\n if (typeof MediaSource !== \"undefined\") {\n const mediaSource: any = new MediaSource();\n try {\n return mediaSource.isTypeSupported('video/mp4; codecs=\"hvc1.1.6.L123\"');\n } catch (e) {\n return false;\n }\n }\n return false;\n}\n\nfunction setCamera() {\n // 先判断是否为 H265 视频\n isH265Video.value = checkIsH265Video(props.url);\n console.log(\"是否为 H265 视频:\", isH265Video.value);\n\n // 如果是 H265 视频,才检测浏览器支持\n if (isH265Video.value) {\n isH265Supported.value = checkH265Support();\n console.log(\"H265 支持状态:\", isH265Supported.value);\n\n if (!isH265Supported.value) {\n showBrowserTip.value = true;\n console.log(\"H265 视频但浏览器不支持,显示提示\");\n return;\n }\n }\n\n const config = {\n id: \"xgplayerId\",\n url: props.url,\n playsinline: true,\n plugins: [window.HlsPlayer],\n isLive: true,\n autoplayMuted: true,\n autoplay: true,\n playbackRate: [null],\n // Edge特定优化\n videoAttributes: {\n playsInline: true,\n crossOrigin: \"anonymous\",\n },\n live: {\n alwaysLive: true, // 保持直播状态,避免切换为点播\n minCacheTime: 1,\n maxCacheTime: 3,\n },\n // Edge特有优化\n customPlayback: false, // 禁用可能冲突的自定义播放逻辑\n ignoreMutedError: true, // 忽略静音状态错误\n edgeCompat: true, // 西瓜播放器Edge兼容模式(v3.0+支持)\n mediaDataSource: {\n cors: true,\n withCredentials: false, // 避免跨域凭证问题\n },\n };\n\n if (window?.Player) {\n const player = new window.Player(config);\n // 将player实例存储到组件中,避免new表达式被识别为纯副作用\n (window as any).__tzjPlayerInstance = player;\n }\n}\nonMounted(() => {\n setCamera();\n});\n</script>\n\n<template>\n <div class=\"i-tzj-xgplayer\">\n <!-- 播放器顶部显示区域(设备)名称 -->\n <div v-if=\"areaName || deviceSerial\" class=\"i-tzj-xgplayer__top\">\n <i class=\"iconfont icon-shexiangtou4\" />\n <span>{{ areaName || deviceSerial }}</span>\n </div>\n <div v-if=\"showBrowserTip\" class=\"i-tzj-xgplayer__browser-tip\">\n <div class=\"browser-tip-content\">\n <i\n class=\"iconfont icon-tishi\"\n style=\"color: #ff9800; margin-right: 8px\"\n />\n <span\n >当前视频为 H265 编码,当前浏览器不支持 H265 播放,请使用 Chrome\n 浏览器观看</span\n >\n </div>\n </div>\n <div v-else id=\"xgplayerId\" style=\"flex: 1; height: 0; width: 100%\" />\n </div>\n</template>\n\n<style scoped></style>\n"],"names":["ref","onMounted","_openBlock","_createElementBlock","_createCommentVNode","areaName","deviceSerial","_createElementVNode","_toDisplayString"],"mappings":"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"}
@@ -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;
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  require('./easyPlayer.vue.js');
7
+ require('./errorPage.vue.js');
7
8
  var tzjPlayer = require('./tzj-player.js');
8
9
  var yunzhiyan = require('./yunzhiyan.js');
9
- require('./errorPage.vue.js');
10
10
  var errorPage_vue_vue_type_script_setup_true_lang = require('./errorPage.vue2.js');
11
11
  var easyPlayer_vue_vue_type_script_setup_true_lang = require('./easyPlayer.vue2.js');
12
12
 
@@ -467,9 +467,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
467
467
  [
468
468
  errorMsg.value ? (vue.openBlock(), vue.createBlock(errorPage_vue_vue_type_script_setup_true_lang.default, {
469
469
  key: 0,
470
- videoName: _ctx.areaName || _ctx.deviceSerial,
470
+ "video-name": _ctx.areaName || _ctx.deviceSerial,
471
471
  message: errorMsg.value
472
- }, null, 8, ["videoName", "message"])) : videoUrl.value ? (vue.openBlock(), vue.createBlock(easyPlayer_vue_vue_type_script_setup_true_lang.default, {
472
+ }, null, 8, ["video-name", "message"])) : videoUrl.value ? (vue.openBlock(), vue.createBlock(easyPlayer_vue_vue_type_script_setup_true_lang.default, {
473
473
  key: 1,
474
474
  ref_key: "playerRef",
475
475
  ref: playerRef,