@cloud-app-dev/vidc 2.1.0-alpha.8 → 2.2.0-alpha.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.
Files changed (166) hide show
  1. package/.umirc.ts +4 -3
  2. package/es/Api/index.js +1 -1
  3. package/es/AppContext/Sync.d.ts +1 -0
  4. package/es/AppContext/interface.d.ts +4 -1
  5. package/es/CheckGroupFixed/index.d.ts +1 -0
  6. package/es/DeviceSelect/TreeType.d.ts +1 -0
  7. package/es/DeviceSelect/demo.d.ts +1 -0
  8. package/es/DeviceSelect/index.d.ts +1 -0
  9. package/es/DeviceSelect/index.js +1 -1
  10. package/es/Drag/DragAndDropItem.js +2 -2
  11. package/es/Drag/DropItem.js +2 -2
  12. package/es/Drawer/Demo.js +24 -3
  13. package/es/Drawer/Footer.d.ts +1 -0
  14. package/es/Drawer/index.d.ts +29 -3
  15. package/es/Drawer/index.js +155 -4
  16. package/es/FrontendPlayer/index.d.ts +2 -0
  17. package/es/FrontendPlayer/index.js +2 -0
  18. package/es/FullScreen/index.d.ts +2 -3
  19. package/es/FullScreen/index.js +14 -41
  20. package/es/InitialConfig/utils.d.ts +5 -5
  21. package/es/InitialConfig/utils.js +19 -19
  22. package/es/Input/index.d.ts +1 -0
  23. package/es/List/CheckExt.d.ts +1 -0
  24. package/es/List/DeviceList/index.js +1 -1
  25. package/es/List/DynamicDeviceList/Demo.d.ts +1 -0
  26. package/es/List/DynamicDeviceList/index.d.ts +1 -0
  27. package/es/List/GridList/index.js +0 -1
  28. package/es/List/VList/index.d.ts +1 -0
  29. package/es/List/index.d.ts +1 -0
  30. package/es/LoaderApp/index.js +26 -22
  31. package/es/LoaderApp/loader.js +2 -6
  32. package/es/LoaderApp/utils.d.ts +1 -0
  33. package/es/LoaderApp/utils.js +37 -0
  34. package/es/Modal/index.d.ts +27 -0
  35. package/es/Modal/index.js +155 -1
  36. package/es/Picture/component/DefaultRects/RectInfo.d.ts +1 -0
  37. package/es/Picture/component/DefaultRects/index.d.ts +2 -1
  38. package/es/Picture/component/DrawRect/index.d.ts +3 -4
  39. package/es/Picture/component/MoveContent/index.js +16 -12
  40. package/es/Picture/component/RectMenu/index.d.ts +2 -3
  41. package/es/Picture/component/Tools/index.js +0 -5
  42. package/es/Picture/component/WheelScale/index.d.ts +1 -0
  43. package/es/Picture/component/WheelScale/index.js +3 -3
  44. package/es/Picture/index.d.ts +1 -0
  45. package/es/Picture/index.js +4 -2
  46. package/es/Picture/interface.d.ts +4 -2
  47. package/es/Picture/utils.d.ts +1 -0
  48. package/es/Player/api/index.d.ts +71 -0
  49. package/es/Player/api/index.js +284 -0
  50. package/es/Player/contraller_bar/bar.d.ts +8 -0
  51. package/es/Player/contraller_bar/bar.js +21 -0
  52. package/es/Player/contraller_bar/contraller_event.d.ts +9 -0
  53. package/es/{RefModal/index.js → Player/contraller_bar/contraller_event.js} +39 -54
  54. package/es/Player/contraller_bar/index.d.ts +19 -0
  55. package/es/Player/contraller_bar/index.js +37 -0
  56. package/es/Player/contraller_bar/left_bar.d.ts +15 -0
  57. package/es/Player/contraller_bar/left_bar.js +91 -0
  58. package/es/Player/contraller_bar/right_bar.d.ts +13 -0
  59. package/es/Player/contraller_bar/right_bar.js +55 -0
  60. package/es/Player/contraller_bar/useBarStatus.d.ts +3 -0
  61. package/es/{RefDrawer/index.js → Player/contraller_bar/useBarStatus.js} +27 -46
  62. package/es/Player/demo.d.ts +2 -0
  63. package/es/Player/demo.js +269 -0
  64. package/es/Player/event/browserTabEvent.d.ts +9 -0
  65. package/es/Player/event/browserTabEvent.js +57 -0
  66. package/es/Player/event/errorEvent.d.ts +16 -0
  67. package/es/Player/event/errorEvent.js +120 -0
  68. package/es/Player/event/eventName.d.ts +3 -0
  69. package/es/Player/event/eventName.js +15 -0
  70. package/es/Player/event/index.d.ts +22 -0
  71. package/es/Player/event/index.js +175 -0
  72. package/es/Player/frontend_player.d.ts +15 -0
  73. package/es/Player/frontend_player.js +90 -0
  74. package/es/Player/frontend_timeline.d.ts +14 -0
  75. package/es/Player/frontend_timeline.js +138 -0
  76. package/es/Player/iconfont.d.ts +13 -0
  77. package/es/Player/iconfont.js +18 -0
  78. package/es/Player/index.d.ts +8 -0
  79. package/es/Player/index.js +8 -0
  80. package/es/Player/live_heart.d.ts +6 -0
  81. package/es/Player/live_heart.js +29 -0
  82. package/es/Player/message.d.ts +11 -0
  83. package/es/Player/message.js +150 -0
  84. package/es/Player/player.d.ts +75 -0
  85. package/es/Player/segment_player.d.ts +13 -0
  86. package/es/Player/segment_player.js +191 -0
  87. package/es/Player/segment_timeline.d.ts +16 -0
  88. package/es/Player/segment_timeline.js +154 -0
  89. package/es/Player/single_player.d.ts +5 -0
  90. package/es/Player/single_player.js +185 -0
  91. package/es/Player/style/bar.css +37 -0
  92. package/es/Player/style/iconfont.css +62 -0
  93. package/es/Player/style/index.css +22 -0
  94. package/es/Player/style/message.css +49 -0
  95. package/es/Player/style/slider.css +96 -0
  96. package/es/Player/style/timeline.css +92 -0
  97. package/es/Player/timeline.d.ts +11 -0
  98. package/es/Player/timeline.js +104 -0
  99. package/es/Player/util.d.ts +48 -0
  100. package/es/Player/util.js +172 -0
  101. package/es/Progress/index.d.ts +1 -0
  102. package/es/SegmentPlayer/index.d.ts +2 -0
  103. package/es/SegmentPlayer/index.js +2 -0
  104. package/es/Service/fetch-adapter.d.ts +12 -0
  105. package/es/Service/fetch-adapter.js +184 -0
  106. package/es/Service/http.d.ts +1 -1
  107. package/es/Service/http.js +4 -2
  108. package/es/Service/interface.d.ts +2 -1
  109. package/es/Tree/BaseTree/demo.d.ts +1 -0
  110. package/es/Tree/BaseTree/demo.js +3 -1
  111. package/es/Tree/BaseTree/index.d.ts +2 -2
  112. package/es/Tree/demo.d.ts +1 -0
  113. package/es/Tree/index.js +1 -1
  114. package/es/UserSelect/demo.d.ts +1 -0
  115. package/es/WorkerFlow/Form/Approver.d.ts +1 -0
  116. package/es/WorkerFlow/Form/Condition.d.ts +1 -0
  117. package/es/WorkerFlow/Form/Condition.js +2 -1
  118. package/es/WorkerFlow/Form/EmptyUserSet.d.ts +1 -0
  119. package/es/WorkerFlow/Form/EmptyUserSet.js +2 -1
  120. package/es/WorkerFlow/Form/FormAuth.d.ts +1 -0
  121. package/es/WorkerFlow/Form/GroupList.d.ts +1 -0
  122. package/es/WorkerFlow/Form/GroupSelect.d.ts +1 -0
  123. package/es/WorkerFlow/Form/GroupSelect.js +2 -1
  124. package/es/WorkerFlow/Form/Handle.d.ts +1 -0
  125. package/es/WorkerFlow/Form/LevelGroupSelect.d.ts +1 -0
  126. package/es/WorkerFlow/Form/LevelGroupSelect.js +2 -1
  127. package/es/WorkerFlow/Form/Notifier.d.ts +1 -0
  128. package/es/WorkerFlow/Form/UserAndGroupSelect.d.ts +1 -0
  129. package/es/WorkerFlow/Form/UserAndGroupSelect.js +2 -1
  130. package/es/WorkerFlow/Form/UserSelect.d.ts +1 -0
  131. package/es/WorkerFlow/Form/UserSelect.js +2 -1
  132. package/es/WorkerFlow/Form/UserSet.d.ts +1 -0
  133. package/es/WorkerFlow/Form/UsersHandleType.d.ts +1 -0
  134. package/es/WorkerFlow/Nodes/Add.d.ts +1 -0
  135. package/es/WorkerFlow/Nodes/Add.js +1 -1
  136. package/es/WorkerFlow/Nodes/AddOption.d.ts +1 -0
  137. package/es/WorkerFlow/Nodes/AddOptionList.d.ts +1 -0
  138. package/es/WorkerFlow/Nodes/Approver.d.ts +1 -0
  139. package/es/WorkerFlow/Nodes/Condition.d.ts +1 -0
  140. package/es/WorkerFlow/Nodes/End.d.ts +1 -0
  141. package/es/WorkerFlow/Nodes/Handle.d.ts +1 -0
  142. package/es/WorkerFlow/Nodes/Node.d.ts +1 -0
  143. package/es/WorkerFlow/Nodes/Notifier.d.ts +1 -0
  144. package/es/WorkerFlow/Nodes/Render.d.ts +1 -0
  145. package/es/WorkerFlow/Nodes/Start.d.ts +1 -0
  146. package/es/WorkerFlow/Nodes/TitleElement.d.ts +1 -0
  147. package/es/WorkerFlow/Nodes/TitleElement.js +6 -2
  148. package/es/WorkerFlow/index.js +2 -1
  149. package/es/index.d.ts +5 -8
  150. package/es/index.js +6 -9
  151. package/es/typings.d.ts +1 -0
  152. package/package.json +15 -10
  153. package/tsconfig.json +3 -2
  154. package/typings/global.d.ts +4 -0
  155. package/es/AppRedirect/index.css +0 -0
  156. package/es/AppRedirect/index.d.ts +0 -16
  157. package/es/AppRedirect/index.js +0 -33
  158. package/es/AppRouter/index.d.ts +0 -8
  159. package/es/AppRouter/index.js +0 -17
  160. package/es/RefDrawer/index.d.ts +0 -15
  161. package/es/RefModal/index.d.ts +0 -15
  162. package/es/useDrawer/index.d.ts +0 -14
  163. package/es/useDrawer/index.js +0 -91
  164. package/es/useModal/index.d.ts +0 -14
  165. package/es/useModal/index.js +0 -93
  166. package/typings.d.ts +0 -2
@@ -10,62 +10,43 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
10
10
 
11
11
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
12
 
13
- import React, { useContext, useImperativeHandle, useMemo, useState } from 'react';
14
- import Drawer from '../Drawer';
15
- import ConfigContext from '../ConfigContext';
16
-
17
- function RefDrawer(_, ref) {
18
- var context = useContext(ConfigContext.Context);
19
- var root = useMemo(function () {
20
- return (context === null || context === void 0 ? void 0 : context.root) || document.body;
21
- }, [context === null || context === void 0 ? void 0 : context.root]);
13
+ import { useEffect, useState } from 'react';
14
+ import EventName from '../event/eventName';
22
15
 
16
+ function useBarStatus(event) {
23
17
  var _useState = useState({
24
- content: null,
25
- visible: false,
26
- title: '',
27
- onOk: undefined,
28
- width: undefined,
29
- className: undefined
18
+ status: 1
30
19
  }),
31
20
  _useState2 = _slicedToArray(_useState, 2),
32
21
  state = _useState2[0],
33
- setState = _useState2[1];
22
+ setState = _useState2[1]; // 监听
23
+
34
24
 
35
- var open = function open(options) {
36
- setState(function (old) {
37
- return Object.assign(Object.assign(Object.assign({}, old), options), {
38
- visible: true
25
+ useEffect(function () {
26
+ var show = function show() {
27
+ return setState(function (old) {
28
+ return Object.assign(Object.assign({}, old), {
29
+ status: 1
30
+ });
39
31
  });
40
- });
41
- };
32
+ };
42
33
 
43
- var close = function close() {
44
- setState(function (old) {
45
- return Object.assign(Object.assign({}, old), {
46
- visible: false
34
+ var hide = function hide() {
35
+ return setState(function (old) {
36
+ return Object.assign(Object.assign({}, old), {
37
+ status: 0
38
+ });
47
39
  });
48
- });
49
- };
40
+ };
50
41
 
51
- useImperativeHandle(ref, function () {
52
- return {
53
- open: open,
54
- close: close
42
+ event.on(EventName.SHOW_CONTRALLER, show);
43
+ event.on(EventName.HIDE_CONTRALLER, hide);
44
+ return function () {
45
+ event.off(EventName.SHOW_CONTRALLER, show);
46
+ event.off(EventName.HIDE_CONTRALLER, hide);
55
47
  };
56
- }, [state]);
57
- return /*#__PURE__*/React.createElement(Drawer, {
58
- visible: state.visible,
59
- onOk: state.onOk,
60
- onClose: close,
61
- destroyOnClose: true,
62
- title: state.title,
63
- width: state.width,
64
- className: state.className,
65
- getContainer: function getContainer() {
66
- return root;
67
- }
68
- }, state.content);
48
+ }, []);
49
+ return state.status;
69
50
  }
70
51
 
71
- export default /*#__PURE__*/React.forwardRef(RefDrawer);
52
+ export default useBarStatus;
@@ -0,0 +1,2 @@
1
+ declare const App: () => JSX.Element;
2
+ export default App;
@@ -0,0 +1,269 @@
1
+ import "antd/lib/config-provider/style";
2
+ import _ConfigProvider from "antd/lib/config-provider";
3
+ import "antd/lib/button/style";
4
+ import _Button from "antd/lib/button";
5
+ import "antd/lib/input/style";
6
+ import _Input from "antd/lib/input";
7
+ import "antd/lib/select/style";
8
+ import _Select from "antd/lib/select";
9
+
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+
14
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
+
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
17
+
18
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
19
+
20
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
+
22
+ import React, { useState } from 'react';
23
+ import Player from './single_player';
24
+ import SegmentPlayer from './segment_player';
25
+ import FrontendPlayer from './frontend_player';
26
+ var options = [{
27
+ value: '',
28
+ label: '自动'
29
+ }, {
30
+ value: 'flv',
31
+ label: 'FLV'
32
+ }, {
33
+ value: 'hls',
34
+ label: 'HLS'
35
+ }];
36
+ var options2 = [{
37
+ value: 1,
38
+ label: '直播'
39
+ }, {
40
+ value: 0,
41
+ label: '录像'
42
+ }];
43
+
44
+ function Demo1() {
45
+ var _useState = useState({
46
+ type: undefined,
47
+ isLive: 1,
48
+ url: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4',
49
+ tempUrl: ''
50
+ }),
51
+ _useState2 = _slicedToArray(_useState, 2),
52
+ state = _useState2[0],
53
+ setState = _useState2[1];
54
+
55
+ return /*#__PURE__*/React.createElement("div", {
56
+ style: {
57
+ width: '100%'
58
+ }
59
+ }, /*#__PURE__*/React.createElement("h3", null, "\u6807\u51C6\u89C6\u9891\u64AD\u653E"), /*#__PURE__*/React.createElement("div", {
60
+ style: {
61
+ marginBottom: 10,
62
+ display: 'flex'
63
+ }
64
+ }, /*#__PURE__*/React.createElement(_Select, {
65
+ value: state.type || '',
66
+ onChange: function onChange(val) {
67
+ return setState(function (old) {
68
+ return Object.assign(Object.assign({}, old), {
69
+ type: val
70
+ });
71
+ });
72
+ }
73
+ }, options.map(function (v) {
74
+ return /*#__PURE__*/React.createElement(_Select.Option, {
75
+ key: v.label,
76
+ value: v.value
77
+ }, v.label);
78
+ })), /*#__PURE__*/React.createElement(_Input, {
79
+ style: {
80
+ flex: 1,
81
+ height: 32
82
+ },
83
+ type: "text",
84
+ placeholder: "\u8BF7\u8F93\u5165\u89C6\u9891\u5730\u5740",
85
+ onChange: function onChange(e) {
86
+ return setState(function (old) {
87
+ return Object.assign(Object.assign({}, old), {
88
+ tempUrl: e.target.value
89
+ });
90
+ });
91
+ }
92
+ }), /*#__PURE__*/React.createElement(_Select, {
93
+ value: state.isLive,
94
+ onChange: function onChange(val) {
95
+ return setState(function (old) {
96
+ return Object.assign(Object.assign({}, old), {
97
+ isLive: val
98
+ });
99
+ });
100
+ }
101
+ }, options2.map(function (v) {
102
+ return /*#__PURE__*/React.createElement(_Select.Option, {
103
+ key: v.label,
104
+ value: v.value
105
+ }, v.label);
106
+ })), /*#__PURE__*/React.createElement(_Button, {
107
+ style: {
108
+ width: 60,
109
+ height: 32
110
+ },
111
+ onClick: function onClick(e) {
112
+ return setState(function (old) {
113
+ return Object.assign(Object.assign({}, old), {
114
+ url: state.tempUrl
115
+ });
116
+ });
117
+ }
118
+ }, "\u64AD\u653E")), /*#__PURE__*/React.createElement(Player, {
119
+ type: state.type,
120
+ url: state.url,
121
+ isLive: !!state.isLive
122
+ }));
123
+ }
124
+
125
+ function Demo2() {
126
+ var _useState3 = useState({
127
+ isLive: 1,
128
+ segments: [{
129
+ duration: 60,
130
+ url: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4'
131
+ }, {
132
+ duration: 60
133
+ }, {
134
+ duration: 60,
135
+ url: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?date=1'
136
+ }, {
137
+ duration: 60
138
+ }, {
139
+ duration: 60,
140
+ url: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?date=2'
141
+ }, {
142
+ duration: 60
143
+ }, {
144
+ duration: 60,
145
+ url: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?date=3'
146
+ }, {
147
+ duration: 60
148
+ }, {
149
+ duration: 60,
150
+ url: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?date=4'
151
+ }, {
152
+ duration: 60
153
+ }, {
154
+ duration: 60,
155
+ url: 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?date=5'
156
+ }],
157
+ tempUrl: ''
158
+ }),
159
+ _useState4 = _slicedToArray(_useState3, 2),
160
+ state = _useState4[0],
161
+ setState = _useState4[1];
162
+
163
+ return /*#__PURE__*/React.createElement("div", {
164
+ style: {
165
+ width: '100%',
166
+ marginTop: 20
167
+ }
168
+ }, /*#__PURE__*/React.createElement("h3", null, " Sements\u89C6\u9891\u64AD\u653E"), /*#__PURE__*/React.createElement("div", {
169
+ style: {
170
+ marginBottom: 10,
171
+ display: 'flex'
172
+ }
173
+ }, /*#__PURE__*/React.createElement(_Input, {
174
+ style: {
175
+ flex: 1,
176
+ height: 32
177
+ },
178
+ type: "text",
179
+ placeholder: "\u8BF7\u8F93\u5165\u89C6\u9891\u7247\u6BB5JSON",
180
+ onChange: function onChange(e) {
181
+ return setState(function (old) {
182
+ return Object.assign(Object.assign({}, old), {
183
+ tempUrl: e.target.value
184
+ });
185
+ });
186
+ }
187
+ }), /*#__PURE__*/React.createElement(_Button, {
188
+ style: {
189
+ width: 60,
190
+ height: 32
191
+ },
192
+ onClick: function onClick(e) {
193
+ return setState(function (old) {
194
+ return Object.assign(Object.assign({}, old), {
195
+ segments: JSON.parse(state.tempUrl)
196
+ });
197
+ });
198
+ }
199
+ }, "\u64AD\u653E")), /*#__PURE__*/React.createElement(SegmentPlayer, {
200
+ begin: Date.now(),
201
+ segments: state.segments,
202
+ isLive: false
203
+ }));
204
+ }
205
+
206
+ function Demo3() {
207
+ var _useState5 = useState({
208
+ url: 'http://192.168.101.161:18090/flv/vod/2b9cb54836e136630_34/187981bd526bdf548.flv?origin_url=sdk%3A%2F%2Fadmin%3Aabc12345%40192.168.14.3%3A8000%2Fcam%2Fplayback%3Ffactory%3Dhikvision%26channel%3D34%26subType%3D0%26startTime%3D1652889636%26endTime%3D1652890200',
209
+ tempUrl: '',
210
+ begin: 1652889636,
211
+ end: 1652890200
212
+ }),
213
+ _useState6 = _slicedToArray(_useState5, 2),
214
+ state = _useState6[0],
215
+ setState = _useState6[1];
216
+
217
+ return /*#__PURE__*/React.createElement("div", {
218
+ style: {
219
+ width: '100%',
220
+ marginTop: 20
221
+ }
222
+ }, /*#__PURE__*/React.createElement("h3", null, " \u524D\u7AEF\u5F55\u50CF\u89C6\u9891\u64AD\u653E"), /*#__PURE__*/React.createElement("div", {
223
+ style: {
224
+ marginBottom: 10,
225
+ display: 'flex'
226
+ }
227
+ }, /*#__PURE__*/React.createElement(_Input, {
228
+ style: {
229
+ flex: 1,
230
+ height: 32
231
+ },
232
+ type: "text",
233
+ placeholder: "\u8BF7\u8F93\u5165\u524D\u7AEF\u5F55\u50CF\u5730\u5740",
234
+ onChange: function onChange(e) {
235
+ return setState(function (old) {
236
+ return Object.assign(Object.assign({}, old), {
237
+ tempUrl: e.target.value
238
+ });
239
+ });
240
+ }
241
+ }), /*#__PURE__*/React.createElement(_Button, {
242
+ style: {
243
+ width: 60,
244
+ height: 32
245
+ },
246
+ onClick: function onClick(e) {
247
+ return setState(function (old) {
248
+ return Object.assign(Object.assign({}, old), {
249
+ url: state.tempUrl
250
+ });
251
+ });
252
+ }
253
+ }, "\u64AD\u653E")), /*#__PURE__*/React.createElement(FrontendPlayer, {
254
+ begin: state.begin,
255
+ end: state.end,
256
+ url: state.url,
257
+ onSeek: function onSeek(time) {
258
+ return console.log(time);
259
+ }
260
+ }));
261
+ }
262
+
263
+ var App = function App() {
264
+ return /*#__PURE__*/React.createElement(_ConfigProvider, {
265
+ prefixCls: "cloudapp"
266
+ }, /*#__PURE__*/React.createElement(Demo1, null), /*#__PURE__*/React.createElement(Demo2, null), /*#__PURE__*/React.createElement(Demo3, null));
267
+ };
268
+
269
+ export default App;
@@ -0,0 +1,9 @@
1
+ declare function visibilityState(): any;
2
+ declare function addEventListener(listener: () => void): void;
3
+ declare function removeEventListener(listener: () => void): void;
4
+ declare const _default: {
5
+ addEventListener: typeof addEventListener;
6
+ removeEventListener: typeof removeEventListener;
7
+ visibilityState: typeof visibilityState;
8
+ };
9
+ export default _default;
@@ -0,0 +1,57 @@
1
+ function getHiddenProp() {
2
+ var prefixes = ['webkit', 'moz', 'ms', 'o']; // 如果hidden 属性是原生支持的,我们就直接返回
3
+
4
+ if ('hidden' in document) {
5
+ return 'hidden';
6
+ } // 其他的情况就循环现有的浏览器前缀,拼接我们所需要的属性
7
+
8
+
9
+ for (var i = 0; i < prefixes.length; i++) {
10
+ // 如果当前的拼接的前缀在 document对象中存在 返回即可
11
+ if (prefixes[i] + 'Hidden' in document) {
12
+ return prefixes[i] + 'Hidden';
13
+ }
14
+ } // 其他的情况 直接返回null
15
+
16
+
17
+ return undefined;
18
+ }
19
+
20
+ function getVisibilityState() {
21
+ var prefixes = ['webkit', 'moz', 'ms', 'o'];
22
+
23
+ if ('visibilityState' in document) {
24
+ return 'visibilityState';
25
+ }
26
+
27
+ for (var i = 0; i < prefixes.length; i++) {
28
+ if (prefixes[i] + 'VisibilityState' in document) {
29
+ return prefixes[i] + 'VisibilityState';
30
+ }
31
+ } // 找不到返回 null
32
+
33
+
34
+ return null;
35
+ }
36
+
37
+ function visibilityState() {
38
+ return document[getVisibilityState()];
39
+ }
40
+
41
+ function addEventListener(listener) {
42
+ var visProp = getHiddenProp();
43
+ var evtname = visProp.replace(/[H|h]idden/, '') + 'visibilitychange';
44
+ document.addEventListener(evtname, listener, false);
45
+ }
46
+
47
+ function removeEventListener(listener) {
48
+ var visProp = getHiddenProp();
49
+ var evtname = visProp.replace(/[H|h]idden/, '') + 'visibilitychange';
50
+ document.removeEventListener(evtname, listener, false);
51
+ }
52
+
53
+ export default {
54
+ addEventListener: addEventListener,
55
+ removeEventListener: removeEventListener,
56
+ visibilityState: visibilityState
57
+ };
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import type VideoEventInstance from '.';
3
+ import type Api from '../api';
4
+ import flvjs from 'flv.zv.js';
5
+ import Hls from 'hls.js';
6
+ interface IErrorEventProps {
7
+ event: VideoEventInstance;
8
+ api: Api;
9
+ errorReloadTimer: number;
10
+ flv: flvjs.Player;
11
+ hls: Hls;
12
+ reload: () => void;
13
+ unload: () => void;
14
+ }
15
+ declare function ErrorEvent({ event, api, reload, unload, errorReloadTimer, flv, hls }: IErrorEventProps): JSX.Element;
16
+ export default ErrorEvent;
@@ -0,0 +1,120 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+
5
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
+
7
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
8
+
9
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
+
11
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+
15
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
16
+
17
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
18
+
19
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
+
21
+ import React, { useState, useEffect, useRef } from 'react';
22
+ import EventName from './eventName';
23
+ import flvjs from 'flv.zv.js';
24
+ import Hls from 'hls.js';
25
+
26
+ function ErrorEvent(_ref) {
27
+ var event = _ref.event,
28
+ api = _ref.api,
29
+ reload = _ref.reload,
30
+ unload = _ref.unload,
31
+ errorReloadTimer = _ref.errorReloadTimer,
32
+ flv = _ref.flv,
33
+ hls = _ref.hls;
34
+
35
+ var _useState = useState(0),
36
+ _useState2 = _slicedToArray(_useState, 2),
37
+ errorTimer = _useState2[0],
38
+ setErrorTime = _useState2[1];
39
+
40
+ var errorInfo = useRef(null);
41
+ var reloadTimer = useRef(null);
42
+ useEffect(function () {
43
+ var errorHandle = function errorHandle() {
44
+ var _console;
45
+
46
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
47
+ args[_key] = arguments[_key];
48
+ }
49
+
50
+ if (args[2] && args[2].msg && args[2].msg.includes('Unsupported audio')) {
51
+ return;
52
+ }
53
+
54
+ (_console = console).error.apply(_console, args);
55
+
56
+ errorInfo.current = args;
57
+ setErrorTime(errorTimer + 1);
58
+ };
59
+
60
+ var reloadSuccess = function reloadSuccess() {
61
+ if (errorTimer > 0) {
62
+ console.warn('视频重连成功!');
63
+ event.emit(EventName.RELOAD_SUCCESS);
64
+ clearErrorTimer();
65
+ }
66
+ };
67
+
68
+ var clearErrorTimer = function clearErrorTimer() {
69
+ return setErrorTime(0);
70
+ };
71
+
72
+ if (flv) {
73
+ flv.on(flvjs.Events.ERROR, errorHandle);
74
+ }
75
+
76
+ if (hls) {
77
+ hls.on(Hls.Events.ERROR, errorHandle);
78
+ }
79
+
80
+ event.on(EventName.ERROR, errorHandle);
81
+ event.addEventListener('error', errorHandle); //获取video状态清除错误状态
82
+
83
+ event.addEventListener('canplay', reloadSuccess);
84
+ return function () {
85
+ //PS 对象销毁时事件自动回收
86
+ // if (flv) {
87
+ // flv.off(flvjs.Events.ERROR, errorHandle);
88
+ // }
89
+ // if (hls) {
90
+ // hls.off(Hls.Events.ERROR, errorHandle);
91
+ // }
92
+ event.off(EventName.ERROR, errorHandle);
93
+ event.removeEventListener('error', errorHandle);
94
+ event.removeEventListener('canplay', reloadSuccess);
95
+ };
96
+ }, [event, flv, hls, errorTimer]);
97
+ useEffect(function () {
98
+ if (errorTimer === 0) {
99
+ return undefined;
100
+ }
101
+
102
+ if (errorTimer > errorReloadTimer) {
103
+ unload();
104
+ event.emit(EventName.RELOAD_FAIL);
105
+ return undefined;
106
+ }
107
+
108
+ console.warn("\u89C6\u9891\u64AD\u653E\u51FA\u9519\uFF0C\u6B63\u5728\u8FDB\u884C\u91CD\u8FDE".concat(errorTimer));
109
+ reloadTimer.current = setTimeout(function () {
110
+ event.emit.apply(event, [EventName.ERROR_RELOAD, errorTimer].concat(_toConsumableArray(errorInfo.current)));
111
+ reload();
112
+ }, 2 * 1000);
113
+ return function () {
114
+ clearTimeout(reloadTimer.current);
115
+ };
116
+ }, [errorTimer, api, event, flv, hls]);
117
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
118
+ }
119
+
120
+ export default ErrorEvent;
@@ -0,0 +1,3 @@
1
+ import type { EventName } from '../player';
2
+ declare const Events: EventName;
3
+ export default Events;
@@ -0,0 +1,15 @@
1
+ var Events = {
2
+ RELOAD: 'reload',
3
+ RELOAD_FAIL: 'reloadFail',
4
+ RELOAD_SUCCESS: 'reloadSuccess',
5
+ ERROR: 'error',
6
+ ERROR_RELOAD: 'errorRload',
7
+ HISTORY_PLAY_END: 'historyPlayEnd',
8
+ SEEK: 'seek',
9
+ TRANSFORM: 'transform',
10
+ CHANGE_PLAY_INDEX: 'changePlayIndex',
11
+ HIDE_CONTRALLER: 'hideContraller',
12
+ SHOW_CONTRALLER: 'showContraller',
13
+ CLEAR_ERROR_TIMER: 'clearErrorTimer'
14
+ };
15
+ export default Events;
@@ -0,0 +1,22 @@
1
+ import type { CustomEvent, EventInfo } from '../player';
2
+ declare class VideoEventInstance {
3
+ video: HTMLVideoElement;
4
+ events: {
5
+ [key: string]: EventInfo;
6
+ };
7
+ playerEvents: {
8
+ [key: string]: (() => void)[];
9
+ };
10
+ constructor(video: HTMLVideoElement);
11
+ on(eventName: string, handle: () => void): void;
12
+ addEventListener(eventName: string, handle: () => void): void;
13
+ removeEventListener(eventName: string, handle: () => void): void;
14
+ emit(eventName: string, ...data: any): void;
15
+ off(eventName: string, handle: () => void): void;
16
+ destroy(): void;
17
+ }
18
+ declare type PlayEvent = VideoEventInstance;
19
+ export declare function usePlayerEvent(video: HTMLVideoElement): PlayEvent;
20
+ export declare function useVideoEvents(event: VideoEventInstance, events: CustomEvent[]): void;
21
+ export declare function useRegisterPlayerEvents(event: VideoEventInstance, events: CustomEvent[]): void;
22
+ export default VideoEventInstance;