@vtx/player 1.6.0 → 1.6.2

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.
@@ -85,6 +85,8 @@
85
85
  -ms-flex-direction: column;
86
86
  flex-direction: column;
87
87
  padding: 12px 24px;
88
+ height: 100%;
89
+ overflow: auto;
88
90
  }
89
91
  .vtx-bill-player .player-panel .control-container .list .ant-checkbox-wrapper {
90
92
  margin-bottom: 12px;
@@ -74,6 +74,8 @@
74
74
  display: flex;
75
75
  flex-direction: column;
76
76
  padding: 12px 24px;
77
+ height: 100%;
78
+ overflow: auto;
77
79
 
78
80
  .ant-checkbox-wrapper {
79
81
  margin-bottom: 12px;
@@ -14,7 +14,7 @@ declare class VtxHlsPlayerManager {
14
14
  * 关闭播放器
15
15
  * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器
16
16
  */
17
- close(index: number): void;
17
+ close(): void;
18
18
  resize(): void;
19
19
  /**
20
20
  * 设置全屏
@@ -31,18 +31,28 @@ var VtxHlsPlayerManager = /*#__PURE__*/function () {
31
31
  var hls = new Hls({
32
32
  maxLiveSyncPlaybackRate: 1.5
33
33
  });
34
- hls.on(Hls.Events.ERROR, function (evt, data) {
35
- if (data.type === Hls.ErrorTypes.MEDIA_ERROR) hls.recoverMediaError();else if (data.fatal) {
36
- hls.destroy();
34
+ this.player = hls;
35
+ var timer = null;
36
+ this.player.on(Hls.Events.ERROR, function (evt, data) {
37
+ if (data.type === Hls.ErrorTypes.MEDIA_ERROR) {
38
+ _this.player.recoverMediaError();
39
+ } else if (data.fatal) {
40
+ timer && clearTimeout(timer);
41
+
42
+ _this.player.destroy();
43
+
44
+ timer = setTimeout(function () {
45
+ return _this.initPlayer(video);
46
+ }, 300);
37
47
  }
38
48
  });
39
- hls.on(Hls.Events.MEDIA_ATTACHED, function () {
40
- hls.loadSource("".concat(_this.url, "index.m3u8"));
49
+ this.player.on(Hls.Events.MEDIA_ATTACHED, function () {
50
+ _this.player.loadSource("".concat(_this.url, "index.m3u8"));
41
51
  });
42
- hls.on(Hls.Events.MANIFEST_PARSED, function () {
52
+ this.player.on(Hls.Events.MANIFEST_PARSED, function () {
43
53
  video.play();
44
54
  });
45
- hls.attachMedia(video);
55
+ this.player.attachMedia(video);
46
56
  }
47
57
  /**
48
58
  * 倍速播放
@@ -61,12 +71,10 @@ var VtxHlsPlayerManager = /*#__PURE__*/function () {
61
71
 
62
72
  }, {
63
73
  key: "close",
64
- value: function close(index) {
65
- this.player && this.player.reSetVideo(index);
66
-
67
- if (this.dp) {
68
- this.dp.ttxplayer.destroy();
69
- this.dp.destroy();
74
+ value: function close() {
75
+ if (this.player) {
76
+ this.player.destroy();
77
+ this.player = null;
70
78
  }
71
79
  }
72
80
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerManager.js","names":["VtxHlsPlayerManager","opt","url","video","player","initPlayer","hls","Hls","maxLiveSyncPlaybackRate","on","Events","ERROR","evt","data","type","ErrorTypes","MEDIA_ERROR","recoverMediaError","fatal","destroy","MEDIA_ATTACHED","loadSource","MANIFEST_PARSED","play","attachMedia","speed","recordPlayer","playSpeed","index","reSetVideo","dp","ttxplayer","setSize","fullScreen","playerAdapter","setPlayerAdapter","number","setPlayerNum","setSelectIndex"],"sources":["vtxHls/PlayerManager.js"],"sourcesContent":["class VtxHlsPlayerManager {\n constructor(opt) {\n this.url = opt.url;\n this.video = opt.video;\n this.player = null;\n this.initPlayer();\n }\n //初始化视频插件\n initPlayer() {\n const video = this.video;\n const hls = new Hls({\n maxLiveSyncPlaybackRate: 1.5,\n });\n hls.on(Hls.Events.ERROR, (evt, data) => {\n if (data.type === Hls.ErrorTypes.MEDIA_ERROR)\n hls.recoverMediaError();\n else if (data.fatal) {\n hls.destroy();\n }\n });\n hls.on(Hls.Events.MEDIA_ATTACHED, () => {\n hls.loadSource(`${this.url}index.m3u8`);\n });\n hls.on(Hls.Events.MANIFEST_PARSED, () => {\n video.play();\n });\n hls.attachMedia(video);\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close(index) {\n this.player && this.player.reSetVideo(index);\n if (this.dp) {\n this.dp.ttxplayer.destroy();\n this.dp.destroy();\n }\n }\n resize() {\n this.player && this.player.setSize();\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n this.player.fullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n this.player.setSelectIndex(index);\n }\n}\nexport default VtxHlsPlayerManager;\n"],"mappings":";;;;;;;;;;;;;IAAMA,mB;EACF,6BAAYC,GAAZ,EAAiB;IAAA;;IACb,KAAKC,GAAL,GAAWD,GAAG,CAACC,GAAf;IACA,KAAKC,KAAL,GAAaF,GAAG,CAACE,KAAjB;IACA,KAAKC,MAAL,GAAc,IAAd;IACA,KAAKC,UAAL;EACH,C,CACD;;;;;WACA,sBAAa;MAAA;;MACT,IAAMF,KAAK,GAAG,KAAKA,KAAnB;MACA,IAAMG,GAAG,GAAG,IAAIC,GAAJ,CAAQ;QAChBC,uBAAuB,EAAE;MADT,CAAR,CAAZ;MAGAF,GAAG,CAACG,EAAJ,CAAOF,GAAG,CAACG,MAAJ,CAAWC,KAAlB,EAAyB,UAACC,GAAD,EAAMC,IAAN,EAAe;QACpC,IAAIA,IAAI,CAACC,IAAL,KAAcP,GAAG,CAACQ,UAAJ,CAAeC,WAAjC,EACIV,GAAG,CAACW,iBAAJ,GADJ,KAEK,IAAIJ,IAAI,CAACK,KAAT,EAAgB;UACjBZ,GAAG,CAACa,OAAJ;QACH;MACJ,CAND;MAOAb,GAAG,CAACG,EAAJ,CAAOF,GAAG,CAACG,MAAJ,CAAWU,cAAlB,EAAkC,YAAM;QACpCd,GAAG,CAACe,UAAJ,WAAkB,KAAI,CAACnB,GAAvB;MACH,CAFD;MAGAI,GAAG,CAACG,EAAJ,CAAOF,GAAG,CAACG,MAAJ,CAAWY,eAAlB,EAAmC,YAAM;QACrCnB,KAAK,CAACoB,IAAN;MACH,CAFD;MAGAjB,GAAG,CAACkB,WAAJ,CAAgBrB,KAAhB;IACH;IACD;AACJ;AACA;AACA;;;;WACI,mBAAUsB,KAAV,EAAiB;MACb,KAAKC,YAAL,IAAqB,KAAKA,YAAL,CAAkBC,SAAlB,CAA4BF,KAA5B,CAArB;IACH;IACD;AACJ;AACA;AACA;;;;WACI,eAAMG,KAAN,EAAa;MACT,KAAKxB,MAAL,IAAe,KAAKA,MAAL,CAAYyB,UAAZ,CAAuBD,KAAvB,CAAf;;MACA,IAAI,KAAKE,EAAT,EAAa;QACT,KAAKA,EAAL,CAAQC,SAAR,CAAkBZ,OAAlB;QACA,KAAKW,EAAL,CAAQX,OAAR;MACH;IACJ;;;WACD,kBAAS;MACL,KAAKf,MAAL,IAAe,KAAKA,MAAL,CAAY4B,OAAZ,EAAf;IACH;IACD;AACJ;AACA;;;;WACI,yBAAgB;MACZ,KAAK5B,MAAL,CAAY6B,UAAZ;IACH;IACD;AACJ;AACA;AACA;;;;WACI,0BAAiBC,aAAjB,EAAgC;MAC5B,KAAK9B,MAAL,CAAY+B,gBAAZ,CAA6BD,aAA7B;IACH;IACD;AACJ;AACA;AACA;;;;WACI,sBAAaE,MAAb,EAAqB;MACjB,KAAKhC,MAAL,CAAYiC,YAAZ,CAAyBD,MAAzB;IACH;IACD;AACJ;AACA;AACA;;;;WACI,wBAAeR,KAAf,EAAsB;MAClB,KAAKxB,MAAL,CAAYkC,cAAZ,CAA2BV,KAA3B;IACH;;;;;;eAEU5B,mB"}
1
+ {"version":3,"file":"PlayerManager.js","names":["VtxHlsPlayerManager","opt","url","video","player","initPlayer","hls","Hls","maxLiveSyncPlaybackRate","timer","on","Events","ERROR","evt","data","type","ErrorTypes","MEDIA_ERROR","recoverMediaError","fatal","clearTimeout","destroy","setTimeout","MEDIA_ATTACHED","loadSource","MANIFEST_PARSED","play","attachMedia","speed","recordPlayer","playSpeed","setSize","fullScreen","playerAdapter","setPlayerAdapter","number","setPlayerNum","index","setSelectIndex"],"sources":["vtxHls/PlayerManager.js"],"sourcesContent":["class VtxHlsPlayerManager {\n constructor(opt) {\n this.url = opt.url;\n this.video = opt.video;\n this.player = null;\n this.initPlayer();\n }\n //初始化视频插件\n initPlayer() {\n const video = this.video;\n const hls = new Hls({\n maxLiveSyncPlaybackRate: 1.5,\n });\n this.player = hls;\n let timer = null;\n this.player.on(Hls.Events.ERROR, (evt, data) => {\n if (data.type === Hls.ErrorTypes.MEDIA_ERROR) {\n this.player.recoverMediaError();\n }\n else if (data.fatal) {\n timer && clearTimeout(timer);\n this.player.destroy();\n timer = setTimeout(() => this.initPlayer(video), 300);\n }\n });\n this.player.on(Hls.Events.MEDIA_ATTACHED, () => {\n this.player.loadSource(`${this.url}index.m3u8`);\n });\n this.player.on(Hls.Events.MANIFEST_PARSED, () => {\n video.play();\n });\n this.player.attachMedia(video);\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close() {\n if (this.player) {\n this.player.destroy();\n this.player = null;\n }\n }\n resize() {\n this.player && this.player.setSize();\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n this.player.fullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n this.player.setSelectIndex(index);\n }\n}\nexport default VtxHlsPlayerManager;\n"],"mappings":";;;;;;;;;;;;;IAAMA,mB;EACF,6BAAYC,GAAZ,EAAiB;IAAA;;IACb,KAAKC,GAAL,GAAWD,GAAG,CAACC,GAAf;IACA,KAAKC,KAAL,GAAaF,GAAG,CAACE,KAAjB;IACA,KAAKC,MAAL,GAAc,IAAd;IACA,KAAKC,UAAL;EACH,C,CACD;;;;;WACA,sBAAa;MAAA;;MACT,IAAMF,KAAK,GAAG,KAAKA,KAAnB;MACA,IAAMG,GAAG,GAAG,IAAIC,GAAJ,CAAQ;QAChBC,uBAAuB,EAAE;MADT,CAAR,CAAZ;MAGA,KAAKJ,MAAL,GAAcE,GAAd;MACA,IAAIG,KAAK,GAAG,IAAZ;MACA,KAAKL,MAAL,CAAYM,EAAZ,CAAeH,GAAG,CAACI,MAAJ,CAAWC,KAA1B,EAAiC,UAACC,GAAD,EAAMC,IAAN,EAAe;QAC5C,IAAIA,IAAI,CAACC,IAAL,KAAcR,GAAG,CAACS,UAAJ,CAAeC,WAAjC,EAA8C;UAC1C,KAAI,CAACb,MAAL,CAAYc,iBAAZ;QACH,CAFD,MAGK,IAAIJ,IAAI,CAACK,KAAT,EAAgB;UACjBV,KAAK,IAAIW,YAAY,CAACX,KAAD,CAArB;;UACA,KAAI,CAACL,MAAL,CAAYiB,OAAZ;;UACAZ,KAAK,GAAGa,UAAU,CAAC;YAAA,OAAM,KAAI,CAACjB,UAAL,CAAgBF,KAAhB,CAAN;UAAA,CAAD,EAA+B,GAA/B,CAAlB;QACH;MACJ,CATD;MAUA,KAAKC,MAAL,CAAYM,EAAZ,CAAeH,GAAG,CAACI,MAAJ,CAAWY,cAA1B,EAA0C,YAAM;QAC5C,KAAI,CAACnB,MAAL,CAAYoB,UAAZ,WAA0B,KAAI,CAACtB,GAA/B;MACH,CAFD;MAGA,KAAKE,MAAL,CAAYM,EAAZ,CAAeH,GAAG,CAACI,MAAJ,CAAWc,eAA1B,EAA2C,YAAM;QAC7CtB,KAAK,CAACuB,IAAN;MACH,CAFD;MAGA,KAAKtB,MAAL,CAAYuB,WAAZ,CAAwBxB,KAAxB;IACH;IACD;AACJ;AACA;AACA;;;;WACI,mBAAUyB,KAAV,EAAiB;MACb,KAAKC,YAAL,IAAqB,KAAKA,YAAL,CAAkBC,SAAlB,CAA4BF,KAA5B,CAArB;IACH;IACD;AACJ;AACA;AACA;;;;WACI,iBAAQ;MACJ,IAAI,KAAKxB,MAAT,EAAiB;QACb,KAAKA,MAAL,CAAYiB,OAAZ;QACA,KAAKjB,MAAL,GAAc,IAAd;MACH;IACJ;;;WACD,kBAAS;MACL,KAAKA,MAAL,IAAe,KAAKA,MAAL,CAAY2B,OAAZ,EAAf;IACH;IACD;AACJ;AACA;;;;WACI,yBAAgB;MACZ,KAAK3B,MAAL,CAAY4B,UAAZ;IACH;IACD;AACJ;AACA;AACA;;;;WACI,0BAAiBC,aAAjB,EAAgC;MAC5B,KAAK7B,MAAL,CAAY8B,gBAAZ,CAA6BD,aAA7B;IACH;IACD;AACJ;AACA;AACA;;;;WACI,sBAAaE,MAAb,EAAqB;MACjB,KAAK/B,MAAL,CAAYgC,YAAZ,CAAyBD,MAAzB;IACH;IACD;AACJ;AACA;AACA;;;;WACI,wBAAeE,KAAf,EAAsB;MAClB,KAAKjC,MAAL,CAAYkC,cAAZ,CAA2BD,KAA3B;IACH;;;;;;eAEUrC,mB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/player",
3
- "version": "1.6.0",
3
+ "version": "1.6.2",
4
4
  "private": false,
5
5
  "description": "视频业务组件",
6
6
  "main": "./lib/index.js",