@vtx/player 1.11.0 → 1.12.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.
- package/lib/api/fetch.js +68 -71
- package/lib/api/fetch.js.map +1 -1
- package/lib/api/index.js +33 -51
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +16 -7
- package/lib/api/types.js +0 -1
- package/lib/api/types.js.map +1 -1
- package/lib/bd/PlayerManager.js +8 -7
- package/lib/bd/PlayerManager.js.map +1 -1
- package/lib/bd2.x/PlayerManager.d.ts +71 -0
- package/lib/bd2.x/PlayerManager.js +228 -0
- package/lib/bd2.x/PlayerManager.js.map +1 -0
- package/lib/bd2.x/swfobject-all.d.ts +11 -0
- package/lib/bd2.x/swfobject-all.js +158 -0
- package/lib/bd2.x/swfobject-all.js.map +1 -0
- package/lib/bd2.x/swfobject.d.ts +40 -0
- package/lib/bd2.x/swfobject.js +722 -0
- package/lib/bd2.x/swfobject.js.map +1 -0
- package/lib/bill-player/index.d.ts +1 -1
- package/lib/bill-player/index.js +9 -11
- package/lib/bill-player/index.js.map +1 -1
- package/lib/components/download-tag/index.js +7 -8
- package/lib/components/download-tag/index.js.map +1 -1
- package/lib/components/set-tag-video/index.js +7 -8
- package/lib/components/set-tag-video/index.js.map +1 -1
- package/lib/components/split-screen/index.d.ts +1 -1
- package/lib/components/split-screen/index.js +3 -5
- package/lib/components/split-screen/index.js.map +1 -1
- package/lib/components/tag-video/index.js +10 -11
- package/lib/components/tag-video/index.js.map +1 -1
- package/lib/components/video-scale/index.d.ts +1 -1
- package/lib/components/video-scale/index.js +2 -3
- package/lib/components/video-scale/index.js.map +1 -1
- package/lib/config.d.ts +1 -1
- package/lib/config.js +1 -2
- package/lib/config.js.map +1 -1
- package/lib/context/index.js +3 -5
- package/lib/context/index.js.map +1 -1
- package/lib/controls/index.d.ts +13 -12
- package/lib/controls/index.js +32 -35
- package/lib/controls/index.js.map +1 -1
- package/lib/h264/PlayerManager.js +8 -7
- package/lib/h264/PlayerManager.js.map +1 -1
- package/lib/history-control/index.d.ts +2 -2
- package/lib/history-control/index.js +8 -10
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control-v2/components/grid-item/index.js +33 -13
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/VideoTable.d.ts +4 -2
- package/lib/history-control-v2/components/panel/VideoTable.js +265 -59
- package/lib/history-control-v2/components/panel/VideoTable.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.d.ts +1 -0
- package/lib/history-control-v2/components/panel/index.js +40 -19
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/context.js +1 -2
- package/lib/history-control-v2/context.js.map +1 -1
- package/lib/history-control-v2/index.d.ts +4 -4
- package/lib/history-control-v2/index.js +77 -77
- package/lib/history-control-v2/index.js.map +1 -1
- package/lib/history-control-v2/interface.d.ts +20 -11
- package/lib/history-control-v2/utils.d.ts +1 -1
- package/lib/history-control-v2/utils.js +51 -27
- package/lib/history-control-v2/utils.js.map +1 -1
- package/lib/history-player/index.d.ts +20 -1
- package/lib/history-player/index.js +235 -184
- package/lib/history-player/index.js.map +1 -1
- package/lib/hooks/useSettings.js +1 -2
- package/lib/hooks/useSettings.js.map +1 -1
- package/lib/hooks/useTranslation.d.ts +1 -1
- package/lib/hooks/useTranslation.js +6 -6
- package/lib/hooks/useTranslation.js.map +1 -1
- package/lib/icc/PlayerManager.js +9 -8
- package/lib/icc/PlayerManager.js.map +1 -1
- package/lib/icc/api.d.ts +1 -68
- package/lib/icc/api.js +7 -3
- package/lib/icc/api.js.map +1 -1
- package/lib/icons/index.d.ts +73 -73
- package/lib/icons/index.js +112 -141
- package/lib/icons/index.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/live-channel-player/index.d.ts +1 -1
- package/lib/live-channel-player/index.js +39 -32
- package/lib/live-channel-player/index.js.map +1 -1
- package/lib/live-control/index.d.ts +4 -2
- package/lib/live-control/index.js +21 -13
- package/lib/live-control/index.js.map +1 -1
- package/lib/live-control-v2/index.d.ts +5 -3
- package/lib/live-control-v2/index.js +22 -22
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-player/index.d.ts +1 -0
- package/lib/live-player/index.js +166 -139
- package/lib/live-player/index.js.map +1 -1
- package/lib/locales/en.json +93 -93
- package/lib/locales/index.d.ts +3 -3
- package/lib/locales/index.js +15 -24
- package/lib/locales/index.js.map +1 -1
- package/lib/locales/zh-CN.json +93 -93
- package/lib/mpegts/PlayerManager.js +14 -8
- package/lib/mpegts/PlayerManager.js.map +1 -1
- package/lib/player/BdPlayer.d.ts +8 -2
- package/lib/player/BdPlayer.js +138 -47
- package/lib/player/BdPlayer.js.map +1 -1
- package/lib/player/BdPlayer2.d.ts +118 -0
- package/lib/player/BdPlayer2.js +341 -0
- package/lib/player/BdPlayer2.js.map +1 -0
- package/lib/player/FlvPlayer.d.ts +3 -1
- package/lib/player/FlvPlayer.js +17 -20
- package/lib/player/FlvPlayer.js.map +1 -1
- package/lib/player/H264Player.d.ts +3 -1
- package/lib/player/H264Player.js +17 -20
- package/lib/player/H264Player.js.map +1 -1
- package/lib/player/HkcarwsPlayer.d.ts +11 -1
- package/lib/player/HkcarwsPlayer.js +149 -36
- package/lib/player/HkcarwsPlayer.js.map +1 -1
- package/lib/player/HkwsPlayer.d.ts +21 -1
- package/lib/player/HkwsPlayer.js +184 -92
- package/lib/player/HkwsPlayer.js.map +1 -1
- package/lib/player/HlsPlayer.d.ts +3 -1
- package/lib/player/HlsPlayer.js +17 -20
- package/lib/player/HlsPlayer.js.map +1 -1
- package/lib/player/IccwsPlayer.d.ts +3 -1
- package/lib/player/IccwsPlayer.js +19 -22
- package/lib/player/IccwsPlayer.js.map +1 -1
- package/lib/player/IframePlayer.d.ts +3 -1
- package/lib/player/IframePlayer.js +8 -7
- package/lib/player/IframePlayer.js.map +1 -1
- package/lib/player/Mp4Player.d.ts +3 -1
- package/lib/player/Mp4Player.js +17 -20
- package/lib/player/Mp4Player.js.map +1 -1
- package/lib/player/RslPlayer.d.ts +3 -1
- package/lib/player/RslPlayer.js +17 -20
- package/lib/player/RslPlayer.js.map +1 -1
- package/lib/player/VtxHlsPlayer.d.ts +3 -1
- package/lib/player/VtxHlsPlayer.js +17 -20
- package/lib/player/VtxHlsPlayer.js.map +1 -1
- package/lib/player/VtxwhepPlayer.d.ts +3 -1
- package/lib/player/VtxwhepPlayer.js +17 -20
- package/lib/player/VtxwhepPlayer.js.map +1 -1
- package/lib/player/VtxwsPlayer.d.ts +3 -1
- package/lib/player/VtxwsPlayer.js +16 -19
- package/lib/player/VtxwsPlayer.js.map +1 -1
- package/lib/player/Web34Player.d.ts +173 -0
- package/lib/player/Web34Player.js +1912 -0
- package/lib/player/Web34Player.js.map +1 -0
- package/lib/player/WebrtcPlayer.d.ts +3 -1
- package/lib/player/WebrtcPlayer.js +17 -20
- package/lib/player/WebrtcPlayer.js.map +1 -1
- package/lib/player/WfsPlayer.d.ts +3 -1
- package/lib/player/WfsPlayer.js +17 -20
- package/lib/player/WfsPlayer.js.map +1 -1
- package/lib/player/YsyPlayer.d.ts +117 -0
- package/lib/player/YsyPlayer.js +273 -0
- package/lib/player/YsyPlayer.js.map +1 -0
- package/lib/player/index.d.ts +4 -1
- package/lib/player/index.js +22 -1
- package/lib/player/index.js.map +1 -1
- package/lib/player/indexOld.d.ts +3 -1
- package/lib/player/indexOld.js +98 -101
- package/lib/player/indexOld.js.map +1 -1
- package/lib/rsl/PlayerManager.d.ts +1 -1
- package/lib/rsl/PlayerManager.js +8 -7
- package/lib/rsl/PlayerManager.js.map +1 -1
- package/lib/typings/h5player.d.ts +33 -1
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +16 -27
- package/lib/utils/index.js.map +1 -1
- package/lib/vtxHls/PlayerManager.js +8 -7
- package/lib/vtxHls/PlayerManager.js.map +1 -1
- package/lib/vtxHls/WhepManager.js +11 -10
- package/lib/vtxHls/WhepManager.js.map +1 -1
- package/lib/webrtc/PlayerManager.js +8 -7
- package/lib/webrtc/PlayerManager.js.map +1 -1
- package/lib/wfs/PlayerManager.js +8 -7
- package/lib/wfs/PlayerManager.js.map +1 -1
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerManager.js","names":["MpegtsManager","opt","_classCallCheck","el","player","url","type","beenHasAudio","playNum","playIndex","currentChannelId","isLive","initPlayer","_createClass","key","value","mpegts","isSupported","createPlayer","hasAudio","hasVideo","attachMediaElement","load","ele","on","err","console","error","pause","play","destroy","unload","detachMediaElement","setVolume","volume","playSpeed","speed","recordPlayer","close","setFullScreen","setPlayerAdapter","playerAdapter","setPlayerNum","number","setSelectIndex","index","jumpPlayByTime","time","_default","exports"],"sources":["mpegts/PlayerManager.js"],"sourcesContent":["/**\n * WSPlayer是核心组件\n * API 封装了接口\n */\nclass MpegtsManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n this.player = null;\n this.url = opt.url;\n // 实时预览还是录像回放播放器\n this.type = opt.type;\n // 是否支持音频\n this.beenHasAudio = opt.beenHasAudio;\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.isLive = false;\n this.initPlayer(opt);\n }\n /**\n * 初始化实时预览播放器\n */\n initPlayer(opt) {\n if (mpegts.isSupported()) {\n const player = mpegts.createPlayer({\n type: 'flv',\n isLive: true,\n url: this.url,\n hasAudio:
|
|
1
|
+
{"version":3,"file":"PlayerManager.js","names":["MpegtsManager","opt","_classCallCheck","el","player","url","type","beenHasAudio","playNum","playIndex","currentChannelId","isLive","initPlayer","_createClass","key","value","mpegts","isSupported","createPlayer","hasAudio","hasVideo","useHTTP1","enableWorker","autoCleanupSourceBuffer","attachMediaElement","load","ele","on","err","console","error","pause","play","destroy","unload","detachMediaElement","setVolume","volume","playSpeed","speed","recordPlayer","close","setFullScreen","setPlayerAdapter","playerAdapter","setPlayerNum","number","setSelectIndex","index","jumpPlayByTime","time","_default","exports"],"sources":["mpegts/PlayerManager.js"],"sourcesContent":["/**\n * WSPlayer是核心组件\n * API 封装了接口\n */\nclass MpegtsManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n this.player = null;\n this.url = opt.url;\n // 实时预览还是录像回放播放器\n this.type = opt.type;\n // 是否支持音频\n this.beenHasAudio = opt.beenHasAudio;\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.isLive = false;\n this.initPlayer(opt);\n }\n /**\n * 初始化实时预览播放器\n */\n initPlayer(opt) {\n if (mpegts.isSupported()) {\n const player = mpegts.createPlayer({\n type: 'flv',\n isLive: true,\n url: this.url,\n hasAudio: false,\n hasVideo: true,\n }, {\n // 关键配置:使用 HTTP/1.1 而非 HTTP/2\n useHTTP1: true,\n enableWorker: true,\n autoCleanupSourceBuffer: true, // 处理 Early-EOF\n }\n // { enableStashBuffer: false, stashInitialSize: '500k' }\n );\n player.attachMediaElement(this.el);\n player.load();\n this.player = player;\n const ele = this.el;\n player.on('error', (err) => {\n console.error('mpegts.js 错误:', err, ele.error);\n // player.destroy();\n });\n }\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.player && this.player.pause();\n }\n play() {\n this.player && this.player.play();\n }\n destroy() {\n this.player.unload();\n this.player.detachMediaElement();\n this.player.destroy();\n }\n setVolume(volume) {\n this.player.volume = volume;\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 this.player && this.player.close();\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n // this.player.setFullScreen();\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 /**\n * 录像跳转播放\n * @param {string} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n // this.player.jumpPlayByTime(time);\n }\n}\nexport default MpegtsManager;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/player/BdPlayer.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import moment from 'moment';
|
|
2
2
|
/** 视频流格式 */
|
|
3
|
-
export
|
|
3
|
+
export type VideoType = 'bd' | string;
|
|
4
4
|
interface ConstructorParams {
|
|
5
5
|
url?: string;
|
|
6
6
|
originalUrl?: string;
|
|
@@ -18,6 +18,7 @@ interface ConstructorParams {
|
|
|
18
18
|
streamType?: '0' | '1';
|
|
19
19
|
/** 通道号 */
|
|
20
20
|
channelNum?: string;
|
|
21
|
+
channelId?: string;
|
|
21
22
|
/** 设备Code */
|
|
22
23
|
deviceCode?: string;
|
|
23
24
|
/**是否开启代理 */
|
|
@@ -28,6 +29,7 @@ interface ConstructorParams {
|
|
|
28
29
|
live?: boolean;
|
|
29
30
|
/** 视频流格式 */
|
|
30
31
|
type?: VideoType;
|
|
32
|
+
hkType?: string;
|
|
31
33
|
/** 开始时间,历史回放需要 */
|
|
32
34
|
startTime?: moment.MomentInput;
|
|
33
35
|
/** 结束时间,历史回放需要 */
|
|
@@ -58,11 +60,15 @@ declare class Player {
|
|
|
58
60
|
private player;
|
|
59
61
|
private video;
|
|
60
62
|
private containerId;
|
|
63
|
+
private live;
|
|
64
|
+
private readyPromise;
|
|
61
65
|
constructor(params: ConstructorParams);
|
|
66
|
+
private createPlayer;
|
|
67
|
+
private getPlayer;
|
|
62
68
|
/** 播放 */
|
|
63
69
|
play(): Promise<void>;
|
|
64
70
|
/** 回放 */
|
|
65
|
-
playBack(): Promise<
|
|
71
|
+
playBack(): Promise<any>;
|
|
66
72
|
/** 销毁 */
|
|
67
73
|
destroy(): void;
|
|
68
74
|
/** 截图 */
|
package/lib/player/BdPlayer.js
CHANGED
|
@@ -4,14 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
8
7
|
var _PlayerManager = _interopRequireDefault(require("../bd/PlayerManager"));
|
|
9
8
|
var _utils = require("../utils");
|
|
10
9
|
var _moment = _interopRequireDefault(require("moment"));
|
|
11
|
-
|
|
12
|
-
function
|
|
13
|
-
function
|
|
14
|
-
function
|
|
10
|
+
var _config = _interopRequireDefault(require("../config"));
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
13
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
14
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
15
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
16
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
17
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
18
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
19
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
15
20
|
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
|
|
16
21
|
function adopt(value) {
|
|
17
22
|
return value instanceof P ? value : new P(function (resolve) {
|
|
@@ -39,14 +44,62 @@ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P
|
|
|
39
44
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
40
45
|
});
|
|
41
46
|
};
|
|
47
|
+
var loadScript = function loadScript(src, id) {
|
|
48
|
+
return new Promise(function (resolve, reject) {
|
|
49
|
+
var existing = document.getElementById(id);
|
|
50
|
+
if (existing) {
|
|
51
|
+
if (existing.dataset.loaded === 'true') {
|
|
52
|
+
resolve();
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
existing.addEventListener('load', function () {
|
|
56
|
+
return resolve();
|
|
57
|
+
}, {
|
|
58
|
+
once: true
|
|
59
|
+
});
|
|
60
|
+
existing.addEventListener('error', function () {
|
|
61
|
+
return reject(new Error("Failed to load ".concat(src)));
|
|
62
|
+
}, {
|
|
63
|
+
once: true
|
|
64
|
+
});
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
var script = document.createElement('script');
|
|
68
|
+
script.id = id;
|
|
69
|
+
script.type = 'text/javascript';
|
|
70
|
+
script.src = src;
|
|
71
|
+
script.onload = function () {
|
|
72
|
+
script.dataset.loaded = 'true';
|
|
73
|
+
resolve();
|
|
74
|
+
};
|
|
75
|
+
script.onerror = function () {
|
|
76
|
+
return reject(new Error("Failed to load ".concat(src)));
|
|
77
|
+
};
|
|
78
|
+
document.head.appendChild(script);
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
var bdJsPromise = null;
|
|
82
|
+
var loadBdJs = function loadBdJs() {
|
|
83
|
+
if (!bdJsPromise) {
|
|
84
|
+
var baseUrl = _config["default"].visPlugin || '.';
|
|
85
|
+
bdJsPromise = loadScript("".concat(baseUrl, "/bd/js/DPlayer.min.js"), 'bd-dplayer-js').then(function () {
|
|
86
|
+
return loadScript("".concat(baseUrl, "/bd/js/flv.min.js"), 'bd-flv-js');
|
|
87
|
+
}).then(function () {
|
|
88
|
+
return loadScript("".concat(baseUrl, "/bd/js/cmsv6player.min.js"), 'bd-cmsv6player-js');
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return bdJsPromise;
|
|
92
|
+
};
|
|
42
93
|
/**
|
|
43
94
|
* 视频播放核心类
|
|
44
95
|
*/
|
|
45
96
|
var Player = /*#__PURE__*/function () {
|
|
46
97
|
function Player(params) {
|
|
98
|
+
var _this = this;
|
|
47
99
|
_classCallCheck(this, Player);
|
|
48
100
|
this.player = null;
|
|
49
101
|
this.containerId = '';
|
|
102
|
+
this.live = true;
|
|
50
103
|
/** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */
|
|
51
104
|
var url = params.url,
|
|
52
105
|
originalUrl = params.originalUrl,
|
|
@@ -72,34 +125,80 @@ var Player = /*#__PURE__*/function () {
|
|
|
72
125
|
this.deviceCode = deviceCode || '';
|
|
73
126
|
this.streamType = streamType || '0'; // 默认主码流
|
|
74
127
|
this.enableAgent = enableAgent;
|
|
128
|
+
this.live = live;
|
|
75
129
|
var video = document.createElement('video'); // 生成video元素
|
|
76
130
|
video.className = 'vtx-player-video';
|
|
77
131
|
video.muted = true; //设置静音
|
|
78
132
|
this.video = video;
|
|
79
|
-
this.
|
|
80
|
-
|
|
81
|
-
type: live,
|
|
82
|
-
url: this.url,
|
|
83
|
-
reload: this.reload
|
|
133
|
+
this.readyPromise = loadBdJs().then(function () {
|
|
134
|
+
return _this.createPlayer(_this.url, _this.live);
|
|
84
135
|
});
|
|
85
136
|
}
|
|
86
|
-
|
|
87
|
-
|
|
137
|
+
return _createClass(Player, [{
|
|
138
|
+
key: "createPlayer",
|
|
139
|
+
value: function createPlayer(url, live) {
|
|
140
|
+
this.player = new _PlayerManager["default"]({
|
|
141
|
+
el: this.containerId,
|
|
142
|
+
type: live,
|
|
143
|
+
url: url,
|
|
144
|
+
reload: this.reload
|
|
145
|
+
});
|
|
146
|
+
return this.player;
|
|
147
|
+
}
|
|
148
|
+
}, {
|
|
149
|
+
key: "getPlayer",
|
|
150
|
+
value: function getPlayer() {
|
|
151
|
+
return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
|
|
152
|
+
return _regenerator().w(function (_context) {
|
|
153
|
+
while (1) switch (_context.n) {
|
|
154
|
+
case 0:
|
|
155
|
+
if (!this.player) {
|
|
156
|
+
_context.n = 1;
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
return _context.a(2, this.player);
|
|
160
|
+
case 1:
|
|
161
|
+
return _context.a(2, this.readyPromise);
|
|
162
|
+
}
|
|
163
|
+
}, _callee, this);
|
|
164
|
+
}));
|
|
165
|
+
}
|
|
166
|
+
/** 播放 */
|
|
167
|
+
}, {
|
|
88
168
|
key: "play",
|
|
89
169
|
value: function play() {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
170
|
+
return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee2() {
|
|
171
|
+
var player;
|
|
172
|
+
return _regenerator().w(function (_context2) {
|
|
173
|
+
while (1) switch (_context2.n) {
|
|
174
|
+
case 0:
|
|
175
|
+
_context2.n = 1;
|
|
176
|
+
return this.getPlayer();
|
|
177
|
+
case 1:
|
|
178
|
+
player = _context2.v;
|
|
179
|
+
player.playRealVideo();
|
|
180
|
+
return _context2.a(2, Promise.resolve());
|
|
181
|
+
}
|
|
182
|
+
}, _callee2, this);
|
|
183
|
+
}));
|
|
93
184
|
}
|
|
94
185
|
/** 回放 */
|
|
95
186
|
}, {
|
|
96
187
|
key: "playBack",
|
|
97
188
|
value: function playBack() {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
189
|
+
return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee3() {
|
|
190
|
+
var player;
|
|
191
|
+
return _regenerator().w(function (_context3) {
|
|
192
|
+
while (1) switch (_context3.n) {
|
|
193
|
+
case 0:
|
|
194
|
+
_context3.n = 1;
|
|
195
|
+
return this.getPlayer();
|
|
196
|
+
case 1:
|
|
197
|
+
player = _context3.v;
|
|
198
|
+
return _context3.a(2, player.playRealVideo());
|
|
199
|
+
}
|
|
200
|
+
}, _callee3, this);
|
|
201
|
+
}));
|
|
103
202
|
}
|
|
104
203
|
/** 销毁 */
|
|
105
204
|
}, {
|
|
@@ -162,39 +261,33 @@ var Player = /*#__PURE__*/function () {
|
|
|
162
261
|
}, {
|
|
163
262
|
key: "onTimeUpdate",
|
|
164
263
|
value: function onTimeUpdate(callback) {
|
|
165
|
-
var
|
|
264
|
+
var _this2 = this;
|
|
166
265
|
this.video.addEventListener('timeupdate', function () {
|
|
167
|
-
var currentTime =
|
|
168
|
-
callback(currentTime,
|
|
266
|
+
var currentTime = _this2.video.currentTime;
|
|
267
|
+
callback(currentTime, _this2.video.playbackRate);
|
|
169
268
|
});
|
|
170
269
|
}
|
|
171
270
|
/** 跳转到 */
|
|
172
271
|
}, {
|
|
173
272
|
key: "seekTo",
|
|
174
273
|
value: function seekTo(time) {
|
|
175
|
-
return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator
|
|
274
|
+
return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee4() {
|
|
176
275
|
var player, url;
|
|
177
|
-
return _regenerator
|
|
178
|
-
while (1) {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
this.player.playRealVideo();
|
|
191
|
-
return _context.abrupt("return", Promise.resolve());
|
|
192
|
-
case 7:
|
|
193
|
-
case "end":
|
|
194
|
-
return _context.stop();
|
|
195
|
-
}
|
|
276
|
+
return _regenerator().w(function (_context4) {
|
|
277
|
+
while (1) switch (_context4.n) {
|
|
278
|
+
case 0:
|
|
279
|
+
_context4.n = 1;
|
|
280
|
+
return this.getPlayer();
|
|
281
|
+
case 1:
|
|
282
|
+
player = _context4.v;
|
|
283
|
+
player.close(0);
|
|
284
|
+
this.player = null;
|
|
285
|
+
url = this.url.replace('PLAYBEG=0', "PLAYBEG=".concat(time * 1000)); // .replace('PLAYEND=0', `PLAYEND=2700000`);
|
|
286
|
+
this.player = this.createPlayer(url, false);
|
|
287
|
+
this.player.playRealVideo();
|
|
288
|
+
return _context4.a(2, Promise.resolve());
|
|
196
289
|
}
|
|
197
|
-
},
|
|
290
|
+
}, _callee4, this);
|
|
198
291
|
}));
|
|
199
292
|
}
|
|
200
293
|
/**
|
|
@@ -238,8 +331,6 @@ var Player = /*#__PURE__*/function () {
|
|
|
238
331
|
return Promise.reject();
|
|
239
332
|
}
|
|
240
333
|
}]);
|
|
241
|
-
return Player;
|
|
242
334
|
}();
|
|
243
|
-
var _default = Player;
|
|
244
|
-
exports["default"] = _default;
|
|
335
|
+
var _default = exports["default"] = Player;
|
|
245
336
|
//# sourceMappingURL=BdPlayer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BdPlayer.js","names":["_PlayerManager","_interopRequireDefault","require","_utils","_moment","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Player","params","player","containerId","url","originalUrl","channelNum","deviceCode","_params$enableAgent","enableAgent","container","_params$live","live","type","streamType","reload","onClose","id","playerParams","getPlayerParams","video","document","createElement","className","muted","BDPlayerManager","el","play","playRealVideo","playBack","res","destroy","close","capture","captureName","arguments","undefined","callback","time","name","concat","moment","format","DPlayer","dp","canvas","querySelector","console","log","toBlob","blob","URL","createObjectURL","resize","setVolume","ttxplayer","enableAudio","openAudio","setSpeed","speed","playbackRate","onTimeUpdate","_this","addEventListener","currentTime","seekTo","_regenerator","mark","_callee","wrap","_callee$","_context","prev","replace","abrupt","stop","pause","resume","startTalk","stopTalk","_default","exports"],"sources":["player/BdPlayer.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 BDPlayerManager from '../bd/PlayerManager';\nimport { getPlayerParams } from '../utils';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n this.containerId = '';\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, originalUrl, channelNum, deviceCode, enableAgent = false, container, live = true, type, streamType, reload, onClose, } = params;\n this.reload = reload;\n this.onClose = onClose;\n this.containerId = container.id;\n const playerParams = getPlayerParams(type, url, enableAgent, live);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type\n this.url = playerParams.url;\n this.originalUrl = originalUrl;\n this.channelNum = channelNum;\n this.deviceCode = deviceCode || '';\n this.streamType = streamType || '0'; // 默认主码流\n this.enableAgent = enableAgent;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n this.player = new BDPlayerManager({\n el: container.id,\n type: live,\n url: this.url,\n reload: this.reload,\n });\n }\n /** 播放 */\n play() {\n const player = this.player;\n player.playRealVideo();\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n const player = this.player;\n return new Promise((resolve) => {\n const res = player.playRealVideo();\n resolve(res);\n });\n }\n /** 销毁 */\n destroy() {\n if (!this.player)\n return;\n const player = this.player;\n player.close(0);\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n const DPlayer = this.player.dp;\n const canvas = DPlayer.container.querySelector('canvas');\n if (canvas) {\n console.log('name', name);\n canvas.toBlob((blob) => {\n if (blob) {\n callback === null || callback === void 0 ? void 0 : callback(URL.createObjectURL(blob));\n }\n });\n }\n }\n /** 尺寸重置 */\n resize() {\n //\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n const player = this.player.dp;\n if (!player.ttxplayer.enableAudio)\n player.ttxplayer.openAudio();\n player.ttxplayer.setVolume(value);\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n this.video.playbackRate = speed;\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n this.video.addEventListener('timeupdate', () => {\n const currentTime = this.video.currentTime;\n callback(currentTime, this.video.playbackRate);\n });\n }\n /** 跳转到 */\n seekTo(time) {\n return __awaiter(this, void 0, void 0, function* () {\n const player = this.player;\n player.close(0);\n this.player = null;\n const url = this.url.replace('PLAYBEG=0', `PLAYBEG=${time * 1000}`);\n // .replace('PLAYEND=0', `PLAYEND=2700000`);\n this.player = new BDPlayerManager({\n el: this.containerId,\n type: false,\n url: url,\n });\n this.player.playRealVideo();\n return Promise.resolve();\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n const player = this.player;\n player.pause();\n callback && callback();\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n const player = this.player;\n player.play();\n callback && callback();\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk() {\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n return Promise.reject();\n }\n}\nexport default Player;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BdPlayer.js","names":["_PlayerManager","_interopRequireDefault","require","_utils","_moment","_config","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_regenerator","t","r","n","toStringTag","i","c","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","String","Number","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","rejected","result","then","apply","loadScript","src","id","existing","document","getElementById","dataset","loaded","addEventListener","once","Error","concat","script","createElement","type","onload","onerror","head","appendChild","bdJsPromise","loadBdJs","baseUrl","CONFIG","visPlugin","Player","params","_this","player","containerId","live","url","originalUrl","channelNum","deviceCode","_params$enableAgent","enableAgent","container","_params$live","streamType","reload","onClose","playerParams","getPlayerParams","video","className","muted","readyPromise","createPlayer","BDPlayerManager","el","getPlayer","_callee","_context","play","_callee2","_context2","playRealVideo","playBack","_callee3","_context3","destroy","close","capture","captureName","arguments","undefined","callback","time","name","moment","format","DPlayer","dp","canvas","querySelector","console","log","toBlob","blob","URL","createObjectURL","resize","setVolume","ttxplayer","enableAudio","openAudio","setSpeed","speed","playbackRate","onTimeUpdate","_this2","currentTime","seekTo","_callee4","_context4","replace","pause","resume","startTalk","stopTalk","_default","exports"],"sources":["player/BdPlayer.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 BDPlayerManager from '../bd/PlayerManager';\nimport { getPlayerParams } from '../utils';\nimport moment from 'moment';\nimport CONFIG from '../config';\nconst loadScript = (src, id) => {\n return new Promise((resolve, reject) => {\n const existing = document.getElementById(id);\n if (existing) {\n if (existing.dataset.loaded === 'true') {\n resolve();\n return;\n }\n existing.addEventListener('load', () => resolve(), { once: true });\n existing.addEventListener('error', () => reject(new Error(`Failed to load ${src}`)), { once: true });\n return;\n }\n const script = document.createElement('script');\n script.id = id;\n script.type = 'text/javascript';\n script.src = src;\n script.onload = () => {\n script.dataset.loaded = 'true';\n resolve();\n };\n script.onerror = () => reject(new Error(`Failed to load ${src}`));\n document.head.appendChild(script);\n });\n};\nlet bdJsPromise = null;\nconst loadBdJs = () => {\n if (!bdJsPromise) {\n const baseUrl = CONFIG.visPlugin || '.';\n bdJsPromise = loadScript(`${baseUrl}/bd/js/DPlayer.min.js`, 'bd-dplayer-js')\n .then(() => loadScript(`${baseUrl}/bd/js/flv.min.js`, 'bd-flv-js'))\n .then(() => loadScript(`${baseUrl}/bd/js/cmsv6player.min.js`, 'bd-cmsv6player-js'));\n }\n return bdJsPromise;\n};\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n this.containerId = '';\n this.live = true;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, originalUrl, channelNum, deviceCode, enableAgent = false, container, live = true, type, streamType, reload, onClose, } = params;\n this.reload = reload;\n this.onClose = onClose;\n this.containerId = container.id;\n const playerParams = getPlayerParams(type, url, enableAgent, live);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type\n this.url = playerParams.url;\n this.originalUrl = originalUrl;\n this.channelNum = channelNum;\n this.deviceCode = deviceCode || '';\n this.streamType = streamType || '0'; // 默认主码流\n this.enableAgent = enableAgent;\n this.live = live;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n this.readyPromise = loadBdJs().then(() => this.createPlayer(this.url, this.live));\n }\n createPlayer(url, live) {\n this.player = new BDPlayerManager({\n el: this.containerId,\n type: live,\n url,\n reload: this.reload,\n });\n return this.player;\n }\n getPlayer() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.player)\n return this.player;\n return this.readyPromise;\n });\n }\n /** 播放 */\n play() {\n return __awaiter(this, void 0, void 0, function* () {\n const player = yield this.getPlayer();\n player.playRealVideo();\n return Promise.resolve();\n });\n }\n /** 回放 */\n playBack() {\n return __awaiter(this, void 0, void 0, function* () {\n const player = yield this.getPlayer();\n return player.playRealVideo();\n });\n }\n /** 销毁 */\n destroy() {\n if (!this.player)\n return;\n const player = this.player;\n player.close(0);\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n const DPlayer = this.player.dp;\n const canvas = DPlayer.container.querySelector('canvas');\n if (canvas) {\n console.log('name', name);\n canvas.toBlob((blob) => {\n if (blob) {\n callback === null || callback === void 0 ? void 0 : callback(URL.createObjectURL(blob));\n }\n });\n }\n }\n /** 尺寸重置 */\n resize() {\n //\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n const player = this.player.dp;\n if (!player.ttxplayer.enableAudio)\n player.ttxplayer.openAudio();\n player.ttxplayer.setVolume(value);\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n this.video.playbackRate = speed;\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n this.video.addEventListener('timeupdate', () => {\n const currentTime = this.video.currentTime;\n callback(currentTime, this.video.playbackRate);\n });\n }\n /** 跳转到 */\n seekTo(time) {\n return __awaiter(this, void 0, void 0, function* () {\n const player = yield this.getPlayer();\n player.close(0);\n this.player = null;\n const url = this.url.replace('PLAYBEG=0', `PLAYBEG=${time * 1000}`);\n // .replace('PLAYEND=0', `PLAYEND=2700000`);\n this.player = this.createPlayer(url, false);\n this.player.playRealVideo();\n return Promise.resolve();\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n const player = this.player;\n player.pause();\n callback && callback();\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n const player = this.player;\n player.play();\n callback && callback();\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk() {\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n return Promise.reject();\n }\n}\nexport default Player;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
/** 视频流格式 */
|
|
3
|
+
export type VideoType = 'bd' | string;
|
|
4
|
+
interface ConstructorParams {
|
|
5
|
+
url?: string;
|
|
6
|
+
originalUrl?: string;
|
|
7
|
+
/** 设备id */
|
|
8
|
+
deviceId?: string;
|
|
9
|
+
/** 服务器地址 */
|
|
10
|
+
deviceIp?: string;
|
|
11
|
+
/** 服务器端口 */
|
|
12
|
+
devicePort?: string;
|
|
13
|
+
/** 服务器用户名 */
|
|
14
|
+
userName?: string;
|
|
15
|
+
/** 服务器密码 */
|
|
16
|
+
password?: string;
|
|
17
|
+
/** 主/子码流 */
|
|
18
|
+
streamType?: '0' | '1';
|
|
19
|
+
/** 通道号 */
|
|
20
|
+
channelNum?: string;
|
|
21
|
+
/** 设备Code */
|
|
22
|
+
deviceCode?: string;
|
|
23
|
+
/**是否开启代理 */
|
|
24
|
+
enableAgent?: boolean;
|
|
25
|
+
/** 渲染容器 */
|
|
26
|
+
container?: HTMLDivElement;
|
|
27
|
+
/** 是否直播,flv.js需要 */
|
|
28
|
+
live?: boolean;
|
|
29
|
+
/** 视频流格式 */
|
|
30
|
+
type?: VideoType;
|
|
31
|
+
hkType?: string;
|
|
32
|
+
/** 开始时间,历史回放需要 */
|
|
33
|
+
startTime?: moment.MomentInput;
|
|
34
|
+
/** 结束时间,历史回放需要 */
|
|
35
|
+
endTime?: moment.MomentInput;
|
|
36
|
+
reload?: () => void;
|
|
37
|
+
onClose?: () => void;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* 视频播放核心类
|
|
41
|
+
*/
|
|
42
|
+
declare class Player {
|
|
43
|
+
/** 视频地址 */
|
|
44
|
+
url: string;
|
|
45
|
+
originalUrl: string;
|
|
46
|
+
/** 通道号 */
|
|
47
|
+
channelNum: string;
|
|
48
|
+
deviceIp: string;
|
|
49
|
+
devicePort: string;
|
|
50
|
+
deviceId: string;
|
|
51
|
+
/** 设备Code */
|
|
52
|
+
deviceCode: string;
|
|
53
|
+
/** 主/子码流 */
|
|
54
|
+
streamType: '0' | '1';
|
|
55
|
+
/** 视频流格式 */
|
|
56
|
+
type: VideoType;
|
|
57
|
+
/** 是否使用代理播放 */
|
|
58
|
+
enableAgent: boolean;
|
|
59
|
+
/** 海康视频断流重新加载 */
|
|
60
|
+
reload: () => void;
|
|
61
|
+
onClose: () => void;
|
|
62
|
+
private player;
|
|
63
|
+
private video;
|
|
64
|
+
private containerId;
|
|
65
|
+
private live;
|
|
66
|
+
private readyPromise;
|
|
67
|
+
constructor(params: ConstructorParams);
|
|
68
|
+
private createPlayer;
|
|
69
|
+
private getPlayer;
|
|
70
|
+
/** 播放 */
|
|
71
|
+
play(): Promise<void>;
|
|
72
|
+
/** 回放 */
|
|
73
|
+
playBack(): Promise<any>;
|
|
74
|
+
/** 销毁 */
|
|
75
|
+
destroy(): void;
|
|
76
|
+
/** 截图 */
|
|
77
|
+
capture(captureName?: string, callback?: any, time?: boolean): void;
|
|
78
|
+
/** 尺寸重置 */
|
|
79
|
+
resize(): void;
|
|
80
|
+
/**
|
|
81
|
+
* 设置音量
|
|
82
|
+
* @param value
|
|
83
|
+
*/
|
|
84
|
+
setVolume(value: number): void;
|
|
85
|
+
/**
|
|
86
|
+
* 设置播放速度
|
|
87
|
+
* @param speed
|
|
88
|
+
*/
|
|
89
|
+
setSpeed(speed: 0.5 | 1 | 2 | 4 | 8): void;
|
|
90
|
+
/**
|
|
91
|
+
* 时间更新事件
|
|
92
|
+
* @param callback 回调函数
|
|
93
|
+
*/
|
|
94
|
+
onTimeUpdate(callback: (currentTime: number, speed: number) => void): void;
|
|
95
|
+
/** 跳转到 */
|
|
96
|
+
seekTo(time: number): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* 暂停播放
|
|
99
|
+
* @param callback 回调函数
|
|
100
|
+
*/
|
|
101
|
+
pause(callback?: () => void): void;
|
|
102
|
+
/**
|
|
103
|
+
* 恢复播放
|
|
104
|
+
* @param callback 回调函数
|
|
105
|
+
*/
|
|
106
|
+
resume(callback?: () => void): void;
|
|
107
|
+
/**
|
|
108
|
+
* 开始对讲
|
|
109
|
+
* @param url 对讲地址
|
|
110
|
+
*/
|
|
111
|
+
startTalk(): Promise<never>;
|
|
112
|
+
/**
|
|
113
|
+
* 开始对讲
|
|
114
|
+
* @param state 状态
|
|
115
|
+
*/
|
|
116
|
+
stopTalk(): Promise<never>;
|
|
117
|
+
}
|
|
118
|
+
export default Player;
|