@vtx/player 1.2.7 → 1.2.9
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.
- package/lib/api/fetch.d.ts +2 -0
- package/lib/api/fetch.js +35 -18
- package/lib/api/fetch.js.map +1 -1
- package/lib/api/types.d.ts +16 -0
- package/lib/history-control/index.d.ts +4 -0
- package/lib/history-control/index.js +21 -3
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control-v2/components/grid-item/index.js +12 -0
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.js +26 -5
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/interface.d.ts +6 -0
- package/lib/history-control-v2/utils.js +2 -0
- package/lib/history-control-v2/utils.js.map +1 -1
- package/lib/history-player/index.d.ts +12 -0
- package/lib/history-player/index.js +44 -13
- package/lib/history-player/index.js.map +1 -1
- package/lib/icc/PlayerManager.d.ts +89 -0
- package/lib/icc/PlayerManager.js +317 -0
- package/lib/icc/PlayerManager.js.map +1 -0
- package/lib/icc/api.d.ts +139 -0
- package/lib/icc/api.js +273 -0
- package/lib/icc/api.js.map +1 -0
- package/lib/live-control-v2/index.js +4 -0
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-player/index.d.ts +8 -4
- package/lib/live-player/index.js +109 -29
- package/lib/live-player/index.js.map +1 -1
- package/lib/live-player-image/index.js +1 -0
- package/lib/live-player-image/index.js.map +1 -1
- package/lib/player/index.d.ts +20 -2
- package/lib/player/index.js +92 -19
- package/lib/player/index.js.map +1 -1
- package/lib/typings/@vtx/utils/index.d.ts +1 -0
- package/lib/typings/wsplayer.d.ts +99 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/index.js.map +1 -1
- package/package.json +2 -2
package/lib/live-player/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports["default"] =
|
|
8
|
+
exports["default"] = void 0;
|
|
7
9
|
|
|
8
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
11
|
|
|
@@ -11,6 +13,8 @@ var _react = require("react");
|
|
|
11
13
|
|
|
12
14
|
var _controls = require("../controls");
|
|
13
15
|
|
|
16
|
+
var _api = _interopRequireDefault(require("../icc/api"));
|
|
17
|
+
|
|
14
18
|
var _icons = require("../icons");
|
|
15
19
|
|
|
16
20
|
var _player = _interopRequireDefault(require("../player"));
|
|
@@ -23,6 +27,8 @@ var _space = _interopRequireDefault(require("antd/lib/space"));
|
|
|
23
27
|
|
|
24
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
29
|
|
|
30
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
31
|
+
|
|
26
32
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
33
|
|
|
28
34
|
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."); }
|
|
@@ -35,8 +41,42 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
35
41
|
|
|
36
42
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
37
43
|
|
|
44
|
+
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
|
|
45
|
+
function adopt(value) {
|
|
46
|
+
return value instanceof P ? value : new P(function (resolve) {
|
|
47
|
+
resolve(value);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
52
|
+
function fulfilled(value) {
|
|
53
|
+
try {
|
|
54
|
+
step(generator.next(value));
|
|
55
|
+
} catch (e) {
|
|
56
|
+
reject(e);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function rejected(value) {
|
|
61
|
+
try {
|
|
62
|
+
step(generator["throw"](value));
|
|
63
|
+
} catch (e) {
|
|
64
|
+
reject(e);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function step(result) {
|
|
69
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
|
|
38
76
|
var LivePlayer = function LivePlayer(props, selfRef) {
|
|
39
77
|
var url = props.url,
|
|
78
|
+
deviceIp = props.deviceIp,
|
|
79
|
+
devicePort = props.devicePort,
|
|
40
80
|
enableAgent = props.enableAgent,
|
|
41
81
|
_props$width = props.width,
|
|
42
82
|
width = _props$width === void 0 ? '100%' : _props$width,
|
|
@@ -46,6 +86,8 @@ var LivePlayer = function LivePlayer(props, selfRef) {
|
|
|
46
86
|
type = props.type,
|
|
47
87
|
channelNum = props.channelNum,
|
|
48
88
|
deviceId = props.deviceId,
|
|
89
|
+
streamType = props.streamType,
|
|
90
|
+
deviceCode = props.deviceCode,
|
|
49
91
|
cloudParams = props.cloudParams,
|
|
50
92
|
_props$showInfo = props.showInfo,
|
|
51
93
|
showInfo = _props$showInfo === void 0 ? false : _props$showInfo,
|
|
@@ -91,31 +133,71 @@ var LivePlayer = function LivePlayer(props, selfRef) {
|
|
|
91
133
|
return;
|
|
92
134
|
}
|
|
93
135
|
|
|
94
|
-
var player =
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
136
|
+
var player = null;
|
|
137
|
+
|
|
138
|
+
(function () {
|
|
139
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
140
|
+
var token;
|
|
141
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
142
|
+
while (1) {
|
|
143
|
+
switch (_context.prev = _context.next) {
|
|
144
|
+
case 0:
|
|
145
|
+
if (!(type === 'icc_ws')) {
|
|
146
|
+
_context.next = 5;
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
_context.next = 3;
|
|
151
|
+
return _api["default"].getToken({
|
|
152
|
+
deviceId: deviceId
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
case 3:
|
|
156
|
+
token = _context.sent;
|
|
157
|
+
localStorage.setItem('accessToken', token);
|
|
158
|
+
|
|
159
|
+
case 5:
|
|
160
|
+
player = new _player["default"]({
|
|
161
|
+
url: url,
|
|
162
|
+
deviceIp: deviceIp,
|
|
163
|
+
deviceId: deviceId,
|
|
164
|
+
devicePort: devicePort,
|
|
165
|
+
streamType: streamType,
|
|
166
|
+
deviceCode: deviceCode,
|
|
167
|
+
channelNum: channelNum,
|
|
168
|
+
enableAgent: enableAgent,
|
|
169
|
+
container: container,
|
|
170
|
+
type: type
|
|
171
|
+
});
|
|
172
|
+
playerRef.current = player;
|
|
173
|
+
setState({
|
|
174
|
+
loading: true,
|
|
175
|
+
error: false
|
|
176
|
+
});
|
|
177
|
+
player.play().then(function () {
|
|
178
|
+
return setState({
|
|
179
|
+
play: true,
|
|
180
|
+
error: false
|
|
181
|
+
});
|
|
182
|
+
})["catch"](function () {
|
|
183
|
+
return setState({
|
|
184
|
+
error: true
|
|
185
|
+
});
|
|
186
|
+
})["finally"](function () {
|
|
187
|
+
setState({
|
|
188
|
+
loading: false
|
|
189
|
+
}), loaded && loaded();
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
case 9:
|
|
193
|
+
case "end":
|
|
194
|
+
return _context.stop();
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}, _callee);
|
|
198
|
+
}));
|
|
199
|
+
})();
|
|
200
|
+
|
|
119
201
|
return function () {
|
|
120
202
|
player.destroy();
|
|
121
203
|
setState({
|
|
@@ -190,10 +272,8 @@ var LivePlayer = function LivePlayer(props, selfRef) {
|
|
|
190
272
|
}))
|
|
191
273
|
}))]
|
|
192
274
|
}));
|
|
193
|
-
};
|
|
275
|
+
}; // LivePlayer.displayName = 'live-player';
|
|
194
276
|
|
|
195
|
-
exports.LivePlayer = LivePlayer;
|
|
196
|
-
LivePlayer.displayName = 'live-player';
|
|
197
277
|
|
|
198
278
|
var _default = /*#__PURE__*/(0, _react.forwardRef)(LivePlayer);
|
|
199
279
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["LivePlayer","props","selfRef","url","enableAgent","width","height","captureName","type","channelNum","deviceId","cloudParams","showInfo","info","screenshot","loaded","ref","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","state","setState","useImperativeHandle","resize","player","current","useEffect","container","destroy","Player","then","handleCapture","e","capture","stopPropagation","handleFullScreen","_jsxs","Object","assign","className","style","children","_jsx","ErrorState","LoadingState","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","onClick","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon","displayName","forwardRef"],"sources":["live-player/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useRef, useImperativeHandle, forwardRef } from 'react';\nimport { CloudControlPanel, ErrorState, InfoPanel, LoadingState, TalkControl, VolumeControl, } from '../controls';\nimport { CaptureIcon, CloudControlIcon, ExitFullScreenIcon, FullScreenIcon } from '../icons';\nimport Player from '../player';\nimport { guidGenerator } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Space } from 'antd';\nimport Space from 'antd/lib/space';\nexport const LivePlayer = (props, selfRef) => {\n const { url, enableAgent, width = '100%', height = '100%', captureName, type, channelNum, deviceId, cloudParams, showInfo = false, info = [], screenshot, loaded } = props;\n const ref = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n showCloudPanel: false,\n });\n useImperativeHandle(selfRef, () => {\n return {\n resize: () => {\n const player = playerRef.current;\n player && url && player.resize();\n }\n };\n });\n useEffect(() => {\n const container = ref.current;\n if (!url || !container) {\n playerRef.current && playerRef.current.destroy();\n return;\n }\n const player = new Player({ url, enableAgent, container, type });\n playerRef.current = player;\n setState({ loading: true, error: false });\n player\n .play()\n .then(() => setState({ play: true, error: false }))\n .catch(() => setState({ error: true }))\n .finally(() => { setState({ loading: false }), loaded && loaded(); });\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url]);\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: ref, style: { height: '100%', width: '100%' }, id: state.id }), state.error && _jsx(ErrorState, {}), state.loading && _jsx(LoadingState, {}), state.showCloudPanel && cloudParams && _jsx(CloudControlPanel, Object.assign({}, cloudParams)), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsx(\"div\", Object.assign({ className: \"controls\", ref: controlsRef }, { children: _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, container: controlsRef.current }), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), channelNum && deviceId && (_jsx(TalkControl, { player: playerRef.current, channelNum: channelNum, deviceId: deviceId })), (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none' && (_jsx(CloudControlIcon, { active: state.showCloudPanel, onClick: () => setState({ showCloudPanel: !state.showCloudPanel }) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] })) }))] })));\n};\nLivePlayer.displayName = 'live-player';\nexport default forwardRef(LivePlayer);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","LivePlayer","props","selfRef","url","deviceIp","devicePort","enableAgent","width","height","captureName","type","channelNum","deviceId","streamType","deviceCode","cloudParams","showInfo","info","screenshot","loaded","ref","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","state","setState","useImperativeHandle","resize","player","current","useEffect","container","destroy","API","getToken","token","localStorage","setItem","Player","handleCapture","capture","stopPropagation","handleFullScreen","_jsxs","Object","assign","className","style","children","_jsx","ErrorState","LoadingState","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","onClick","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon","forwardRef"],"sources":["live-player/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { CloudControlPanel, ErrorState, InfoPanel, LoadingState, TalkControl, VolumeControl, } from '../controls';\nimport API from '../icc/api';\nimport { CaptureIcon, CloudControlIcon, ExitFullScreenIcon, FullScreenIcon } from '../icons';\nimport Player from '../player';\nimport { guidGenerator } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Space } from 'antd';\nimport Space from 'antd/lib/space';\nconst LivePlayer = (props, selfRef) => {\n const { url, deviceIp, devicePort, enableAgent, width = '100%', height = '100%', captureName, type, channelNum, deviceId, streamType, deviceCode, cloudParams, showInfo = false, info = [], screenshot, loaded, } = props;\n const ref = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n showCloudPanel: false,\n });\n useImperativeHandle(selfRef, () => {\n return {\n resize: () => {\n const player = playerRef.current;\n player && url && player.resize();\n },\n };\n });\n useEffect(() => {\n const container = ref.current;\n if (!url || !container) {\n playerRef.current && playerRef.current.destroy();\n return;\n }\n let player = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\n // 如果是icc_ws类型,需要获取token\n if (type === 'icc_ws') {\n const token = yield API.getToken({\n deviceId,\n });\n localStorage.setItem('accessToken', token);\n }\n player = new Player({\n url,\n deviceIp,\n deviceId,\n devicePort,\n streamType,\n deviceCode,\n channelNum,\n enableAgent,\n container,\n type,\n });\n playerRef.current = player;\n setState({ loading: true, error: false });\n player\n .play()\n .then(() => setState({ play: true, error: false }))\n .catch(() => setState({ error: true }))\n .finally(() => {\n setState({ loading: false }), loaded && loaded();\n });\n }))();\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url]);\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: ref, style: { height: '100%', width: '100%' }, id: state.id }), state.error && _jsx(ErrorState, {}), state.loading && _jsx(LoadingState, {}), state.showCloudPanel && cloudParams && _jsx(CloudControlPanel, Object.assign({}, cloudParams)), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsx(\"div\", Object.assign({ className: \"controls\", ref: controlsRef }, { children: _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, container: controlsRef.current }), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), channelNum && deviceId && (_jsx(TalkControl, { player: playerRef.current, channelNum: channelNum, deviceId: deviceId })), (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none' && (_jsx(CloudControlIcon, { active: state.showCloudPanel, onClick: () => setState({ showCloudPanel: !state.showCloudPanel }) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] })) }))] })));\n};\n// LivePlayer.displayName = 'live-player';\nexport default forwardRef(LivePlayer);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["LivePlayerImage","props","selfRef","url","enableAgent","width","height","captureName","type","channelNum","deviceId","cloudParams","showInfo","info","screenshot","loaded","ref","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","state","setState","useImperativeHandle","resize","player","current","useEffect","container","destroy","Player","then","canvas","document","getElementById","ctx","getContext","i","timer","setInterval","beginPath","x","Math","random","x2","y","y2","strokeStyle","lineWidth","rect","stroke","clearTimeout","handleCapture","e","capture","stopPropagation","handleFullScreen","_jsxs","Object","assign","className","style","position","children","_jsx","top","left","right","bottom","ErrorState","LoadingState","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","onClick","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon","forwardRef"],"sources":["live-player-image/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { CloudControlPanel, ErrorState, InfoPanel, LoadingState, TalkControl, VolumeControl, } from '../controls';\nimport { CaptureIcon, CloudControlIcon, ExitFullScreenIcon, FullScreenIcon } from '../icons';\nimport Player from '../player';\nimport { guidGenerator } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Space } from 'antd';\nimport Space from 'antd/lib/space';\nexport const LivePlayerImage = (props, selfRef) => {\n const { url, enableAgent, width = '100%', height = '100%', captureName, type, channelNum, deviceId, cloudParams, showInfo = false, info = [], screenshot, loaded, } = props;\n const ref = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n showCloudPanel: false,\n });\n useImperativeHandle(selfRef, () => {\n return {\n resize: () => {\n const player = playerRef.current;\n player && url && player.resize();\n },\n };\n });\n useEffect(() => {\n const container = ref.current;\n if (!url || !container) {\n playerRef.current && playerRef.current.destroy();\n return;\n }\n const player = new Player({ url, enableAgent, container, type });\n playerRef.current = player;\n setState({ loading: true, error: false });\n player\n .play()\n .then(() => setState({ play: true, error: false }))\n .catch(() => setState({ error: true }))\n .finally(() => {\n setState({ loading: false }), loaded && loaded();\n });\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url]);\n useEffect(() => {\n const canvas = document.getElementById('canvas');\n const ctx = canvas.getContext('2d');\n let i = 0;\n const timer = setInterval(() => {\n ctx.beginPath();\n const x = Math.random() * 300;\n const x2 = Math.random() * 150;\n const y = Math.random() * 300;\n const y2 = Math.random() * 150;\n ctx.strokeStyle = 'red';\n ctx.lineWidth = 3;\n ctx.rect(x, y, x2 > 20 ? x2 : 20, y2 > 20 ? y2 : 20);\n i++;\n ctx.stroke();\n // ctx.closePath();\n if (i > 5) {\n timer && clearTimeout(timer);\n }\n }, 2000);\n return () => {\n timer && clearTimeout(timer);\n };\n }, []);\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-player\", ref: wrapRef, style: { width, height, position: 'relative' } }, { children: [_jsx(\"div\", { ref: ref, style: { height: '100%', width: '100%' }, id: state.id }), _jsx(\"canvas\", { id: \"canvas\", width: width, height: height, style: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n } }), state.error && _jsx(ErrorState, {}), state.loading && _jsx(LoadingState, {}), state.showCloudPanel && cloudParams && _jsx(CloudControlPanel, Object.assign({}, cloudParams)), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsx(\"div\", Object.assign({ className: \"controls\", ref: controlsRef }, { children: _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, container: controlsRef.current }), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), channelNum && deviceId && (_jsx(TalkControl, { player: playerRef.current, channelNum: channelNum, deviceId: deviceId })), (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none' && (_jsx(CloudControlIcon, { active: state.showCloudPanel, onClick: () => setState({ showCloudPanel: !state.showCloudPanel }) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] })) }))] })));\n};\n// LivePlayerImage.displayName = 'live-player';\nexport default forwardRef(LivePlayerImage);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["LivePlayerImage","props","selfRef","url","enableAgent","width","height","captureName","type","channelNum","deviceId","cloudParams","showInfo","info","screenshot","loaded","ref","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","state","setState","useImperativeHandle","resize","player","current","useEffect","container","destroy","Player","then","canvas","document","getElementById","ctx","getContext","i","timer","setInterval","beginPath","x","Math","random","x2","y","y2","strokeStyle","lineWidth","rect","stroke","clearTimeout","handleCapture","e","capture","stopPropagation","handleFullScreen","_jsxs","Object","assign","className","style","position","children","_jsx","top","left","right","bottom","ErrorState","LoadingState","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","onClick","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon","forwardRef"],"sources":["live-player-image/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { CloudControlPanel, ErrorState, InfoPanel, LoadingState, TalkControl, VolumeControl, } from '../controls';\nimport { CaptureIcon, CloudControlIcon, ExitFullScreenIcon, FullScreenIcon } from '../icons';\nimport Player from '../player';\nimport { guidGenerator } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Space } from 'antd';\nimport Space from 'antd/lib/space';\nexport const LivePlayerImage = (props, selfRef) => {\n const { url, enableAgent, width = '100%', height = '100%', captureName, type, channelNum, deviceId, cloudParams, showInfo = false, info = [], screenshot, loaded, } = props;\n const ref = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n showCloudPanel: false,\n });\n useImperativeHandle(selfRef, () => {\n return {\n resize: () => {\n const player = playerRef.current;\n player && url && player.resize();\n },\n };\n });\n useEffect(() => {\n const container = ref.current;\n if (!url || !container) {\n playerRef.current && playerRef.current.destroy();\n return;\n }\n const player = new Player({ url, channelNum, enableAgent, container, type });\n playerRef.current = player;\n setState({ loading: true, error: false });\n player\n .play()\n .then(() => setState({ play: true, error: false }))\n .catch(() => setState({ error: true }))\n .finally(() => {\n setState({ loading: false }), loaded && loaded();\n });\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url]);\n useEffect(() => {\n const canvas = document.getElementById('canvas');\n const ctx = canvas.getContext('2d');\n let i = 0;\n const timer = setInterval(() => {\n ctx.beginPath();\n const x = Math.random() * 300;\n const x2 = Math.random() * 150;\n const y = Math.random() * 300;\n const y2 = Math.random() * 150;\n ctx.strokeStyle = 'red';\n ctx.lineWidth = 3;\n ctx.rect(x, y, x2 > 20 ? x2 : 20, y2 > 20 ? y2 : 20);\n i++;\n ctx.stroke();\n // ctx.closePath();\n if (i > 5) {\n timer && clearTimeout(timer);\n }\n }, 2000);\n return () => {\n timer && clearTimeout(timer);\n };\n }, []);\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-player\", ref: wrapRef, style: { width, height, position: 'relative' } }, { children: [_jsx(\"div\", { ref: ref, style: { height: '100%', width: '100%' }, id: state.id }), _jsx(\"canvas\", { id: \"canvas\", width: width, height: height, style: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n } }), state.error && _jsx(ErrorState, {}), state.loading && _jsx(LoadingState, {}), state.showCloudPanel && cloudParams && _jsx(CloudControlPanel, Object.assign({}, cloudParams)), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsx(\"div\", Object.assign({ className: \"controls\", ref: controlsRef }, { children: _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, container: controlsRef.current }), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), channelNum && deviceId && (_jsx(TalkControl, { player: playerRef.current, channelNum: channelNum, deviceId: deviceId })), (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none' && (_jsx(CloudControlIcon, { active: state.showCloudPanel, onClick: () => setState({ showCloudPanel: !state.showCloudPanel }) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] })) }))] })));\n};\n// LivePlayerImage.displayName = 'live-player';\nexport default forwardRef(LivePlayerImage);\n"],"mappings":"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"}
|
package/lib/player/index.d.ts
CHANGED
|
@@ -6,9 +6,21 @@ declare global {
|
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
/** 视频流格式 */
|
|
9
|
-
export declare type VideoType = 'flv' | 'hls' | 'hk_ws' | 'hkcar_ws' | string;
|
|
9
|
+
export declare type VideoType = 'flv' | 'hls' | 'hk_ws' | 'hkcar_ws' | 'icc_ws' | string;
|
|
10
10
|
interface ConstructorParams {
|
|
11
11
|
url: string;
|
|
12
|
+
/** 设备id */
|
|
13
|
+
deviceId?: string;
|
|
14
|
+
/** 服务器地址 */
|
|
15
|
+
deviceIp?: string;
|
|
16
|
+
/** 服务器端口 */
|
|
17
|
+
devicePort?: string;
|
|
18
|
+
/** 主/子码流 */
|
|
19
|
+
streamType?: '0' | '1';
|
|
20
|
+
/** 通道号 */
|
|
21
|
+
channelNum: string;
|
|
22
|
+
/** 设备Code */
|
|
23
|
+
deviceCode?: string;
|
|
12
24
|
/**是否开启代理 */
|
|
13
25
|
enableAgent: boolean;
|
|
14
26
|
/** 渲染容器 */
|
|
@@ -28,6 +40,12 @@ interface ConstructorParams {
|
|
|
28
40
|
declare class Player {
|
|
29
41
|
/** 视频地址 */
|
|
30
42
|
url: string;
|
|
43
|
+
/** 通道号 */
|
|
44
|
+
channelNum: string;
|
|
45
|
+
/** 设备Code */
|
|
46
|
+
deviceCode: string;
|
|
47
|
+
/** 主/子码流 */
|
|
48
|
+
streamType: '0' | '1';
|
|
31
49
|
/** 视频流格式 */
|
|
32
50
|
type: VideoType;
|
|
33
51
|
/** 是否使用代理播放 */
|
|
@@ -46,7 +64,7 @@ declare class Player {
|
|
|
46
64
|
/** 播放 */
|
|
47
65
|
play(): Promise<void>;
|
|
48
66
|
/** 回放 */
|
|
49
|
-
playBack(): Promise<
|
|
67
|
+
playBack(): Promise<unknown>;
|
|
50
68
|
/** 销毁 */
|
|
51
69
|
destroy(): void;
|
|
52
70
|
/** 截图 */
|
package/lib/player/index.js
CHANGED
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
|
|
10
|
+
var _PlayerManager = _interopRequireDefault(require("../icc/PlayerManager"));
|
|
11
|
+
|
|
10
12
|
var _utils = require("../utils");
|
|
11
13
|
|
|
12
14
|
var _flv = _interopRequireDefault(require("flv.js"));
|
|
@@ -71,6 +73,8 @@ var Player = /*#__PURE__*/function () {
|
|
|
71
73
|
/** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */
|
|
72
74
|
|
|
73
75
|
var url = params.url,
|
|
76
|
+
channelNum = params.channelNum,
|
|
77
|
+
deviceCode = params.deviceCode,
|
|
74
78
|
_params$enableAgent = params.enableAgent,
|
|
75
79
|
enableAgent = _params$enableAgent === void 0 ? false : _params$enableAgent,
|
|
76
80
|
container = params.container,
|
|
@@ -78,11 +82,18 @@ var Player = /*#__PURE__*/function () {
|
|
|
78
82
|
live = _params$live === void 0 ? true : _params$live,
|
|
79
83
|
type = params.type,
|
|
80
84
|
startTime = params.startTime,
|
|
81
|
-
endTime = params.endTime
|
|
85
|
+
endTime = params.endTime,
|
|
86
|
+
streamType = params.streamType,
|
|
87
|
+
deviceIp = params.deviceIp,
|
|
88
|
+
devicePort = params.devicePort;
|
|
82
89
|
var playerParams = (0, _utils.getPlayerParams)(type, url, enableAgent, live);
|
|
83
90
|
this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type
|
|
84
91
|
|
|
85
92
|
this.url = playerParams.url;
|
|
93
|
+
this.channelNum = channelNum;
|
|
94
|
+
this.deviceCode = deviceCode || '';
|
|
95
|
+
this.streamType = streamType || '0'; // 默认主码流
|
|
96
|
+
|
|
86
97
|
this.enableAgent = enableAgent;
|
|
87
98
|
this.startTime = startTime;
|
|
88
99
|
this.endTime = endTime;
|
|
@@ -142,6 +153,16 @@ var Player = /*#__PURE__*/function () {
|
|
|
142
153
|
}
|
|
143
154
|
});
|
|
144
155
|
}
|
|
156
|
+
|
|
157
|
+
if (this.type === 'icc_ws') {
|
|
158
|
+
this.player = new _PlayerManager["default"]({
|
|
159
|
+
ip: "".concat(deviceIp || '', ":").concat(devicePort || ''),
|
|
160
|
+
el: container.id,
|
|
161
|
+
type: live ? 'real' : 'record',
|
|
162
|
+
maxNum: 1,
|
|
163
|
+
num: 1
|
|
164
|
+
});
|
|
165
|
+
}
|
|
145
166
|
}
|
|
146
167
|
/** 播放 */
|
|
147
168
|
|
|
@@ -169,6 +190,18 @@ var Player = /*#__PURE__*/function () {
|
|
|
169
190
|
return result;
|
|
170
191
|
}
|
|
171
192
|
|
|
193
|
+
if (this.type === 'icc_ws') {
|
|
194
|
+
var _player2 = this.player;
|
|
195
|
+
|
|
196
|
+
_player2.playRealVideo({
|
|
197
|
+
channelList: [{
|
|
198
|
+
id: this.deviceCode + '$1$0$' + this.channelNum,
|
|
199
|
+
isOnline: true
|
|
200
|
+
}],
|
|
201
|
+
streamType: Number(this.streamType) + 1
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
172
205
|
return Promise.resolve();
|
|
173
206
|
}
|
|
174
207
|
/** 回放 */
|
|
@@ -176,6 +209,8 @@ var Player = /*#__PURE__*/function () {
|
|
|
176
209
|
}, {
|
|
177
210
|
key: "playBack",
|
|
178
211
|
value: function playBack() {
|
|
212
|
+
var _this = this;
|
|
213
|
+
|
|
179
214
|
if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {
|
|
180
215
|
var player = this.player;
|
|
181
216
|
var result = player.JS_Play(this.url, {
|
|
@@ -183,6 +218,21 @@ var Player = /*#__PURE__*/function () {
|
|
|
183
218
|
mode: 0
|
|
184
219
|
}, 1, (0, _utils.getHKTimeString)(this.startTime), (0, _utils.getHKTimeString)(this.endTime));
|
|
185
220
|
return result;
|
|
221
|
+
} else if (this.type === 'icc_ws') {
|
|
222
|
+
var _player3 = this.player;
|
|
223
|
+
return new Promise(function (resolve) {
|
|
224
|
+
_player3.playRecordVideo({
|
|
225
|
+
channelList: [{
|
|
226
|
+
id: _this.deviceCode + '$1$0$' + _this.channelNum
|
|
227
|
+
}],
|
|
228
|
+
startTime: (0, _moment["default"])(_this.startTime, 'YYYY-MM-DD HH:mm:ss').format('X'),
|
|
229
|
+
endTime: (0, _moment["default"])(_this.endTime, 'YYYY-MM-DD HH:mm:ss').format('X'),
|
|
230
|
+
recordSource: '2',
|
|
231
|
+
streamType: _this.streamType
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
resolve(true);
|
|
235
|
+
});
|
|
186
236
|
} else {
|
|
187
237
|
return this.play();
|
|
188
238
|
}
|
|
@@ -200,24 +250,24 @@ var Player = /*#__PURE__*/function () {
|
|
|
200
250
|
}
|
|
201
251
|
|
|
202
252
|
if (this.type === 'hls') {
|
|
203
|
-
var
|
|
253
|
+
var _player4 = this.player;
|
|
204
254
|
|
|
205
|
-
|
|
255
|
+
_player4.destroy();
|
|
206
256
|
|
|
207
257
|
this.player = null;
|
|
208
258
|
this.video.remove();
|
|
209
259
|
}
|
|
210
260
|
|
|
211
261
|
if (this.type === 'hk_ws') {
|
|
212
|
-
var
|
|
262
|
+
var _player5 = this.player;
|
|
213
263
|
|
|
214
|
-
|
|
264
|
+
_player5.JS_Stop(1);
|
|
215
265
|
}
|
|
216
266
|
|
|
217
267
|
if (this.type === 'hkcar_ws') {
|
|
218
|
-
var
|
|
268
|
+
var _player6 = this.player;
|
|
219
269
|
|
|
220
|
-
|
|
270
|
+
_player6.JS_DestroyWorker();
|
|
221
271
|
}
|
|
222
272
|
}
|
|
223
273
|
/** 截图 */
|
|
@@ -248,6 +298,10 @@ var Player = /*#__PURE__*/function () {
|
|
|
248
298
|
if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {
|
|
249
299
|
var player = this.player;
|
|
250
300
|
player.JS_Resize();
|
|
301
|
+
} else if (this.type === 'icc_ws') {
|
|
302
|
+
var _player7 = this.player;
|
|
303
|
+
|
|
304
|
+
_player7.setPlayerAdapter('selfAdaption');
|
|
251
305
|
}
|
|
252
306
|
}
|
|
253
307
|
/**
|
|
@@ -268,9 +322,9 @@ var Player = /*#__PURE__*/function () {
|
|
|
268
322
|
}
|
|
269
323
|
|
|
270
324
|
if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {
|
|
271
|
-
var
|
|
325
|
+
var _player8 = this.player;
|
|
272
326
|
|
|
273
|
-
|
|
327
|
+
_player8.JS_SetVolume(1, value);
|
|
274
328
|
}
|
|
275
329
|
}
|
|
276
330
|
/**
|
|
@@ -341,6 +395,10 @@ var Player = /*#__PURE__*/function () {
|
|
|
341
395
|
}
|
|
342
396
|
|
|
343
397
|
this.preSpeed = speed;
|
|
398
|
+
} else if (this.type === 'icc_ws') {
|
|
399
|
+
var _player9 = this.player;
|
|
400
|
+
|
|
401
|
+
_player9.playSpeed(speed);
|
|
344
402
|
} else {
|
|
345
403
|
this.video.playbackRate = speed;
|
|
346
404
|
}
|
|
@@ -353,24 +411,24 @@ var Player = /*#__PURE__*/function () {
|
|
|
353
411
|
}, {
|
|
354
412
|
key: "onTimeUpdate",
|
|
355
413
|
value: function onTimeUpdate(callback) {
|
|
356
|
-
var
|
|
414
|
+
var _this2 = this;
|
|
357
415
|
|
|
358
416
|
var _a;
|
|
359
417
|
|
|
360
418
|
this.video.addEventListener('timeupdate', function () {
|
|
361
|
-
var currentTime =
|
|
419
|
+
var currentTime = _this2.video.currentTime;
|
|
362
420
|
|
|
363
|
-
if ((
|
|
364
|
-
currentTime = currentTime +
|
|
421
|
+
if ((_this2.type === 'hk_ws' || _this2.type === 'hkcar_ws') && _this2.seekTime) {
|
|
422
|
+
currentTime = currentTime + _this2.seekTime.diff(_this2.startTime, 'seconds');
|
|
365
423
|
}
|
|
366
424
|
|
|
367
|
-
callback(currentTime,
|
|
425
|
+
callback(currentTime, _this2.type === 'hk_ws' || _this2.type === 'hkcar_ws' ? _this2.preSpeed : _this2.video.playbackRate);
|
|
368
426
|
}); // 增加hw_ws 流播放结束回调
|
|
369
427
|
|
|
370
428
|
var player = this.player;
|
|
371
429
|
(_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {
|
|
372
430
|
StreamEnd: function StreamEnd() {
|
|
373
|
-
callback((0, _moment["default"])(
|
|
431
|
+
callback((0, _moment["default"])(_this2.endTime).diff(_this2.startTime, 'seconds'), _this2.preSpeed);
|
|
374
432
|
}
|
|
375
433
|
});
|
|
376
434
|
}
|
|
@@ -379,10 +437,11 @@ var Player = /*#__PURE__*/function () {
|
|
|
379
437
|
}, {
|
|
380
438
|
key: "seekTo",
|
|
381
439
|
value: function seekTo(time) {
|
|
382
|
-
var _a;
|
|
440
|
+
var _a, _b;
|
|
383
441
|
|
|
384
442
|
return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
385
|
-
var player, seekTime;
|
|
443
|
+
var player, seekTime, _player10, _seekTime;
|
|
444
|
+
|
|
386
445
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
387
446
|
while (1) {
|
|
388
447
|
switch (_context.prev = _context.next) {
|
|
@@ -399,14 +458,28 @@ var Player = /*#__PURE__*/function () {
|
|
|
399
458
|
|
|
400
459
|
case 5:
|
|
401
460
|
this.seekTime = seekTime;
|
|
402
|
-
_context.next =
|
|
461
|
+
_context.next = 16;
|
|
403
462
|
break;
|
|
404
463
|
|
|
405
464
|
case 8:
|
|
465
|
+
if (!(this.type === 'icc_ws')) {
|
|
466
|
+
_context.next = 14;
|
|
467
|
+
break;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
_player10 = this.player;
|
|
471
|
+
_seekTime = (_b = (0, _moment["default"])(this.startTime)) === null || _b === void 0 ? void 0 : _b.add(time, 'seconds').format('HH:mm:ss');
|
|
472
|
+
|
|
473
|
+
_player10.jumpPlayByTime(_seekTime);
|
|
474
|
+
|
|
475
|
+
_context.next = 16;
|
|
476
|
+
break;
|
|
477
|
+
|
|
478
|
+
case 14:
|
|
406
479
|
this.video.currentTime = time;
|
|
407
480
|
return _context.abrupt("return", Promise.resolve());
|
|
408
481
|
|
|
409
|
-
case
|
|
482
|
+
case 16:
|
|
410
483
|
case "end":
|
|
411
484
|
return _context.stop();
|
|
412
485
|
}
|