@vtx/player 1.4.16 → 1.5.0
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/bd/PlayerManager.d.ts +1 -0
- package/lib/bd/PlayerManager.js +41 -1
- package/lib/bd/PlayerManager.js.map +1 -1
- package/lib/history-player/index.js +56 -25
- package/lib/history-player/index.js.map +1 -1
- package/lib/new/PlayerManager.d.ts +79 -0
- package/lib/new/PlayerManager.js +283 -0
- package/lib/new/PlayerManager.js.map +1 -0
- package/lib/new/api.d.ts +5 -0
- package/lib/new/api.js +32 -0
- package/lib/new/api.js.map +1 -0
- package/lib/player/index.js +56 -40
- package/lib/player/index.js.map +1 -1
- package/lib/utils/index.js +7 -0
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
package/lib/bd/PlayerManager.js
CHANGED
|
@@ -136,6 +136,43 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
136
136
|
// .css('background', '#' + bcolor);
|
|
137
137
|
|
|
138
138
|
}
|
|
139
|
+
}, {
|
|
140
|
+
key: "playMp4",
|
|
141
|
+
value: function playMp4() {
|
|
142
|
+
var index = this.playIndex;
|
|
143
|
+
var url = this.url;
|
|
144
|
+
var type = this.type;
|
|
145
|
+
var itemId = this.el;
|
|
146
|
+
|
|
147
|
+
if (this.dp) {
|
|
148
|
+
this.dp.destroy();
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
var bufferTime = 2000;
|
|
152
|
+
var bufferTimeMax = 6000;
|
|
153
|
+
var videoOptions = {
|
|
154
|
+
url: url,
|
|
155
|
+
type: 'auto'
|
|
156
|
+
}; //*** */
|
|
157
|
+
|
|
158
|
+
this.dp = new DPlayer({
|
|
159
|
+
container: document.getElementById(itemId),
|
|
160
|
+
live: false,
|
|
161
|
+
screenshot: true,
|
|
162
|
+
autoplay: true,
|
|
163
|
+
mutex: false,
|
|
164
|
+
loop: false,
|
|
165
|
+
lang: 'zh-cn',
|
|
166
|
+
video: videoOptions
|
|
167
|
+
}); // this.bindDpEvent(dp, type);
|
|
168
|
+
|
|
169
|
+
this.setVideoFrame('full');
|
|
170
|
+
var dp = this.dp; // var bcolor = '000';
|
|
171
|
+
|
|
172
|
+
if (dp && dp.container.id) {
|
|
173
|
+
$('#' + dp.container.id).find('.dplayer-controller').css('display', 'none');
|
|
174
|
+
}
|
|
175
|
+
}
|
|
139
176
|
/**
|
|
140
177
|
* 播放录像回放
|
|
141
178
|
* @param opt.channelList {Array<Object>} 通道集合 必填
|
|
@@ -246,10 +283,13 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
246
283
|
}, {
|
|
247
284
|
key: "close",
|
|
248
285
|
value: function close(index) {
|
|
286
|
+
var _a;
|
|
287
|
+
|
|
249
288
|
this.player && this.player.reSetVideo(index);
|
|
250
289
|
|
|
251
290
|
if (this.dp) {
|
|
252
|
-
this.dp.ttxplayer.destroy();
|
|
291
|
+
(_a = this.dp.ttxplayer) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
292
|
+
this.dp.destroy();
|
|
253
293
|
}
|
|
254
294
|
}
|
|
255
295
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerManager.js","names":["PlayerManager","opt","el","url","realPlayer","recordPlayer","player","type","playNum","playIndex","currentChannelId","recordList","isShow","winDom","$","empty","css","addClass","picConfig","device","channel","dp","index","itemId","ttxplayer","stop","setPlayTime","destroy","bufferTime","bufferTimeMax","videoOptions","customType","video","Cmsv6Player","showScreenshot","lang","liveText","v6isLive","play","isLive","hasVideo","hasAudio","enableAudio","minBufferTime","maxBufferTime","showLastScreen","DPlayer","container","document","getElementById","live","screenshot","autoplay","mutex","loop","setVideoFrame","id","find","getRecordList","viewSize","each","i","obj","_obj","width","height","that","toggleVideo","speed","playSpeed","reSetVideo","setSize","fullScreen","playerAdapter","setPlayerAdapter","number","setPlayerNum","setSelectIndex","time","seekVideo","method","data","channelId","changeVideoFlag","console","log","selectIndex"],"sources":["bd/PlayerManager.js"],"sourcesContent":["/**\n *\n */\nclass PlayerManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n this.url = opt.url;\n // 实时预览播放器\n this.realPlayer = null;\n // 录像回放播放器\n this.recordPlayer = null;\n this.player = null;\n // 实时预览还是录像回放播放器\n this.type = opt.type;\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.recordList = [];\n this.isShow = false; // 视频是否在播放\n this.winDom = $('#' + opt.el);\n this.winDom.empty();\n this.winDom.css('width', '100%').css('height', '100%').addClass('ttx-video-h5');\n this.picConfig = {\n device: [],\n channel: [],\n };\n this.dp = null;\n // this.initFlash = this.initFlash.bind(this);\n // this.initPlayer();\n // this.playRealVideo();\n }\n //初始化视频插件\n initPlayer() {\n // if (this.isInitFinished) {\n // return;\n // }\n }\n /**\n * 播放实时预览视频\n * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2\n * @param opt.selectIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放\n */\n playRealVideo() {\n //先停止视频播放\n // swfobject.getObjectById(this.el).stopVideo(opt.selectIndex);\n //播放视频\n //type 当实时视频时,传1,监听时,传2,双向对讲时传3 广播功能 4\n const index = this.playIndex;\n const url = this.url;\n const type = this.type;\n var itemId = this.el;\n if (this.dp) {\n this.dp.ttxplayer.stop();\n this.dp.ttxplayer.setPlayTime(0);\n this.dp.destroy();\n }\n var bufferTime = 2000;\n var bufferTimeMax = 6000;\n // bufferTime = bufferTime ? bufferTime : 200;\n // bufferTimeMax = bufferTimeMax ? bufferTimeMax : 2000;\n const videoOptions = {\n url: url,\n type: 'ttxplayer',\n customType: {\n ttxplayer: function (video, player) {\n player.ttxplayer = new Cmsv6Player(null, itemId, {\n showScreenshot: true,\n lang: 'zh-cn',\n });\n // player.ttxplayer.ft.style = \"color:blue;position:relative;background-color:black;\";\n player.ttxplayer.liveText = '';\n //如果不是直播链接则,live传false\n var v6isLive = false;\n // if (url.indexOf('/rtmp/') === -1 && that.options.live) {\n // v6isLive = false;\n // }\n player.ttxplayer.play(url, {\n isLive: v6isLive,\n hasVideo: true,\n hasAudio: true,\n enableAudio: false,\n minBufferTime: bufferTime,\n maxBufferTime: bufferTimeMax,\n showLastScreen: false,\n });\n },\n },\n };\n //*** */\n this.dp = new DPlayer({\n container: document.getElementById(itemId),\n live: false,\n screenshot: true,\n autoplay: true,\n mutex: false,\n loop: false,\n lang: 'zh-cn',\n video: videoOptions,\n });\n // this.bindDpEvent(dp, type);\n this.setVideoFrame('full');\n const dp = this.dp;\n // var bcolor = '000';\n if (dp && dp.container.id) {\n $('#' + dp.container.id)\n .find('.ttxplayer-controller')\n .css('display', 'none');\n $('#' + dp.container.id)\n .find('.dplayer-controller')\n .css('display', 'none');\n }\n // $('#' + dp.container.id)\n // .find('.dplayer-controller')\n // .css('background', '#' + bcolor);\n }\n /**\n * 播放录像回放\n * @param opt.channelList {Array<Object>} 通道集合 必填\n * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒\n * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒\n * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像\n * @param opt.streamType {String|Number} 码流类型 可选\n * @param opt.recordType {String|Number} 录像类型 可选\n */\n // channelList: [{\n // id: channelCode, // {String} 通道编码 -- 用于回放,必填\n // }]\n playRecordVideo(opt) {\n this.recordPlayer && this.recordPlayer.getRecordList(opt);\n }\n setVideoFrame(viewSize) {\n this.winDom.find('video').each(function (i, obj) {\n var _obj = $(obj);\n _obj.css('width', '100%').css('height', '100%');\n var width = _obj.width();\n var height = _obj.height();\n if (viewSize === '4:3') {\n if (width / height > 4 / 3) {\n _obj.css('width', (height * 4) / 3);\n }\n else {\n _obj.css('height', (width * 3) / 4);\n }\n }\n if (viewSize === '16:9') {\n if (width / height > 16 / 9) {\n _obj.css('width', (height * 16) / 9);\n }\n else {\n _obj.css('height', (width * 9) / 16);\n }\n }\n });\n }\n stopVideo(index) {\n var that = this;\n if (index >= this.playNum) {\n return;\n }\n // this.reSetVideo(index)\n // var video = this.playVideos[index];\n // if (video) {\n // if (that.options.isTtx) {\n // video.ttxplayer.stop();\n // video.ttxplayer.setPlayTime(0);\n // } else {\n // video.pause();\n // video.video.currentTime = 0;\n // }\n // try {\n // var url = video.options.video.url;\n // var devidno = url.split('DevIDNO=')[1].split('&')[0];\n // that.timeMap808[devidno] = new Date().getTime();\n // } catch (e) {}\n // }\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.player && this.player.toggleVideo(0);\n }\n /**\n * 录像暂停后播放\n * 只有暂停后的录像调用才有效\n */\n play() {\n this.player && this.player.toggleVideo(0);\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close(index) {\n this.player && this.player.reSetVideo(index);\n if (this.dp) {\n this.dp.ttxplayer.destroy();\n }\n }\n resize() {\n this.player && this.player.setSize();\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n this.player.fullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n this.player.setSelectIndex(index);\n }\n /**\n * 录像跳转播放\n * @param {number} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n this.player.seekVideo(0, time);\n }\n // ----------------- 播放器事件 ------------------------\n __receiveMessageFromWSPlayer(method, data) {\n switch (method) {\n // ------------- 公共事件 ---------------------\n case 'selectWindowChanged': // 选中的窗口发生改变\n this.currentChannelId = data.channelId;\n this.playIndex = data.playIndex;\n break;\n case 'windowNumChanged': // 播放器显示的路数发生改变\n this.playNum = data;\n break;\n case 'closeVideo': // 视频关闭\n // 点击关闭按钮引发的视频关闭进行提示\n // 切换视频引发的视频关闭不进行提示\n if (!data.changeVideoFlag) {\n console.log(`窗口${data.selectIndex}的视频已关闭`);\n }\n break;\n case 'statusChanged': // 视频状态发生改变\n break;\n case 'errorInfo': // 错误信息提示\n // data = {\n // errorCode: xxx,\n // errorMsg: \"\",\n // channelList: [],\n // }\n break;\n }\n }\n}\nexport default PlayerManager;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlayerManager.js","names":["PlayerManager","opt","el","url","realPlayer","recordPlayer","player","type","playNum","playIndex","currentChannelId","recordList","isShow","winDom","$","empty","css","addClass","picConfig","device","channel","dp","index","itemId","ttxplayer","stop","setPlayTime","destroy","bufferTime","bufferTimeMax","videoOptions","customType","video","Cmsv6Player","showScreenshot","lang","liveText","v6isLive","play","isLive","hasVideo","hasAudio","enableAudio","minBufferTime","maxBufferTime","showLastScreen","DPlayer","container","document","getElementById","live","screenshot","autoplay","mutex","loop","setVideoFrame","id","find","getRecordList","viewSize","each","i","obj","_obj","width","height","that","toggleVideo","speed","playSpeed","_a","reSetVideo","setSize","fullScreen","playerAdapter","setPlayerAdapter","number","setPlayerNum","setSelectIndex","time","seekVideo","method","data","channelId","changeVideoFlag","console","log","selectIndex"],"sources":["bd/PlayerManager.js"],"sourcesContent":["/**\n *\n */\nclass PlayerManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n this.url = opt.url;\n // 实时预览播放器\n this.realPlayer = null;\n // 录像回放播放器\n this.recordPlayer = null;\n this.player = null;\n // 实时预览还是录像回放播放器\n this.type = opt.type;\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.recordList = [];\n this.isShow = false; // 视频是否在播放\n this.winDom = $('#' + opt.el);\n this.winDom.empty();\n this.winDom.css('width', '100%').css('height', '100%').addClass('ttx-video-h5');\n this.picConfig = {\n device: [],\n channel: [],\n };\n this.dp = null;\n // this.initFlash = this.initFlash.bind(this);\n // this.initPlayer();\n // this.playRealVideo();\n }\n //初始化视频插件\n initPlayer() {\n // if (this.isInitFinished) {\n // return;\n // }\n }\n /**\n * 播放实时预览视频\n * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2\n * @param opt.selectIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放\n */\n playRealVideo() {\n //先停止视频播放\n // swfobject.getObjectById(this.el).stopVideo(opt.selectIndex);\n //播放视频\n //type 当实时视频时,传1,监听时,传2,双向对讲时传3 广播功能 4\n const index = this.playIndex;\n const url = this.url;\n const type = this.type;\n var itemId = this.el;\n if (this.dp) {\n this.dp.ttxplayer.stop();\n this.dp.ttxplayer.setPlayTime(0);\n this.dp.destroy();\n }\n var bufferTime = 2000;\n var bufferTimeMax = 6000;\n // bufferTime = bufferTime ? bufferTime : 200;\n // bufferTimeMax = bufferTimeMax ? bufferTimeMax : 2000;\n const videoOptions = {\n url: url,\n type: 'ttxplayer',\n customType: {\n ttxplayer: function (video, player) {\n player.ttxplayer = new Cmsv6Player(null, itemId, {\n showScreenshot: true,\n lang: 'zh-cn',\n });\n // player.ttxplayer.ft.style = \"color:blue;position:relative;background-color:black;\";\n player.ttxplayer.liveText = '';\n //如果不是直播链接则,live传false\n var v6isLive = false;\n // if (url.indexOf('/rtmp/') === -1 && that.options.live) {\n // v6isLive = false;\n // }\n player.ttxplayer.play(url, {\n isLive: v6isLive,\n hasVideo: true,\n hasAudio: true,\n enableAudio: false,\n minBufferTime: bufferTime,\n maxBufferTime: bufferTimeMax,\n showLastScreen: false,\n });\n },\n },\n };\n //*** */\n this.dp = new DPlayer({\n container: document.getElementById(itemId),\n live: false,\n screenshot: true,\n autoplay: true,\n mutex: false,\n loop: false,\n lang: 'zh-cn',\n video: videoOptions,\n });\n // this.bindDpEvent(dp, type);\n this.setVideoFrame('full');\n const dp = this.dp;\n // var bcolor = '000';\n if (dp && dp.container.id) {\n $('#' + dp.container.id)\n .find('.ttxplayer-controller')\n .css('display', 'none');\n $('#' + dp.container.id)\n .find('.dplayer-controller')\n .css('display', 'none');\n }\n // $('#' + dp.container.id)\n // .find('.dplayer-controller')\n // .css('background', '#' + bcolor);\n }\n playMp4() {\n const index = this.playIndex;\n const url = this.url;\n const type = this.type;\n var itemId = this.el;\n if (this.dp) {\n this.dp.destroy();\n }\n var bufferTime = 2000;\n var bufferTimeMax = 6000;\n const videoOptions = {\n url: url,\n type: 'auto',\n };\n //*** */\n this.dp = new DPlayer({\n container: document.getElementById(itemId),\n live: false,\n screenshot: true,\n autoplay: true,\n mutex: false,\n loop: false,\n lang: 'zh-cn',\n video: videoOptions,\n });\n // this.bindDpEvent(dp, type);\n this.setVideoFrame('full');\n const dp = this.dp;\n // var bcolor = '000';\n if (dp && dp.container.id) {\n $('#' + dp.container.id)\n .find('.dplayer-controller')\n .css('display', 'none');\n }\n }\n /**\n * 播放录像回放\n * @param opt.channelList {Array<Object>} 通道集合 必填\n * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒\n * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒\n * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像\n * @param opt.streamType {String|Number} 码流类型 可选\n * @param opt.recordType {String|Number} 录像类型 可选\n */\n // channelList: [{\n // id: channelCode, // {String} 通道编码 -- 用于回放,必填\n // }]\n playRecordVideo(opt) {\n this.recordPlayer && this.recordPlayer.getRecordList(opt);\n }\n setVideoFrame(viewSize) {\n this.winDom.find('video').each(function (i, obj) {\n var _obj = $(obj);\n _obj.css('width', '100%').css('height', '100%');\n var width = _obj.width();\n var height = _obj.height();\n if (viewSize === '4:3') {\n if (width / height > 4 / 3) {\n _obj.css('width', (height * 4) / 3);\n }\n else {\n _obj.css('height', (width * 3) / 4);\n }\n }\n if (viewSize === '16:9') {\n if (width / height > 16 / 9) {\n _obj.css('width', (height * 16) / 9);\n }\n else {\n _obj.css('height', (width * 9) / 16);\n }\n }\n });\n }\n stopVideo(index) {\n var that = this;\n if (index >= this.playNum) {\n return;\n }\n // this.reSetVideo(index)\n // var video = this.playVideos[index];\n // if (video) {\n // if (that.options.isTtx) {\n // video.ttxplayer.stop();\n // video.ttxplayer.setPlayTime(0);\n // } else {\n // video.pause();\n // video.video.currentTime = 0;\n // }\n // try {\n // var url = video.options.video.url;\n // var devidno = url.split('DevIDNO=')[1].split('&')[0];\n // that.timeMap808[devidno] = new Date().getTime();\n // } catch (e) {}\n // }\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.player && this.player.toggleVideo(0);\n }\n /**\n * 录像暂停后播放\n * 只有暂停后的录像调用才有效\n */\n play() {\n this.player && this.player.toggleVideo(0);\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close(index) {\n var _a;\n this.player && this.player.reSetVideo(index);\n if (this.dp) {\n (_a = this.dp.ttxplayer) === null || _a === void 0 ? void 0 : _a.destroy();\n this.dp.destroy();\n }\n }\n resize() {\n this.player && this.player.setSize();\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n this.player.fullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n this.player.setSelectIndex(index);\n }\n /**\n * 录像跳转播放\n * @param {number} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n this.player.seekVideo(0, time);\n }\n // ----------------- 播放器事件 ------------------------\n __receiveMessageFromWSPlayer(method, data) {\n switch (method) {\n // ------------- 公共事件 ---------------------\n case 'selectWindowChanged': // 选中的窗口发生改变\n this.currentChannelId = data.channelId;\n this.playIndex = data.playIndex;\n break;\n case 'windowNumChanged': // 播放器显示的路数发生改变\n this.playNum = data;\n break;\n case 'closeVideo': // 视频关闭\n // 点击关闭按钮引发的视频关闭进行提示\n // 切换视频引发的视频关闭不进行提示\n if (!data.changeVideoFlag) {\n console.log(`窗口${data.selectIndex}的视频已关闭`);\n }\n break;\n case 'statusChanged': // 视频状态发生改变\n break;\n case 'errorInfo': // 错误信息提示\n // data = {\n // errorCode: xxx,\n // errorMsg: \"\",\n // channelList: [],\n // }\n break;\n }\n }\n}\nexport default PlayerManager;\n"],"mappings":"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"}
|
|
@@ -125,6 +125,7 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
125
125
|
volume: 0,
|
|
126
126
|
currentTime: '',
|
|
127
127
|
progress: 0,
|
|
128
|
+
progress2: 0,
|
|
128
129
|
controls: {
|
|
129
130
|
progress: true
|
|
130
131
|
},
|
|
@@ -151,7 +152,12 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
151
152
|
});
|
|
152
153
|
(0, _react.useEffect)(function () {
|
|
153
154
|
var container = containerRef.current;
|
|
154
|
-
|
|
155
|
+
|
|
156
|
+
if (vRef.current) {
|
|
157
|
+
clearInterval(vRef.current);
|
|
158
|
+
vRef.current = null;
|
|
159
|
+
}
|
|
160
|
+
|
|
155
161
|
if (!url || !container) return;
|
|
156
162
|
var player = null;
|
|
157
163
|
|
|
@@ -227,24 +233,25 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
227
233
|
play: true,
|
|
228
234
|
currentTime: (0, _moment["default"])(startTime).format(_utils.TimeFormat.params)
|
|
229
235
|
});
|
|
230
|
-
var i =
|
|
236
|
+
var i = 1;
|
|
231
237
|
vRef.current = setInterval(function () {
|
|
232
238
|
// 当时间大于等于结束时间时重置
|
|
233
239
|
if ((0, _moment["default"])(startTime).add(i, 's').unix() >= (0, _moment["default"])(endTime).unix()) {
|
|
234
240
|
clearInterval(vRef.current);
|
|
241
|
+
vRef.current = null;
|
|
235
242
|
setState({
|
|
236
243
|
currentTime: '',
|
|
237
244
|
progress: 0
|
|
238
245
|
});
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
}
|
|
246
|
+
} else {
|
|
247
|
+
i++;
|
|
248
|
+
|
|
249
|
+
if (!state.loading) {
|
|
250
|
+
setState({
|
|
251
|
+
currentTime: (0, _moment["default"])(startTime).add(i, 's').format(_utils.TimeFormat.params),
|
|
252
|
+
progress: Math.floor(i / totalTime * 100)
|
|
253
|
+
});
|
|
254
|
+
}
|
|
248
255
|
}
|
|
249
256
|
}, 1000);
|
|
250
257
|
})["catch"](function () {
|
|
@@ -282,7 +289,11 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
282
289
|
loading: false,
|
|
283
290
|
play: false
|
|
284
291
|
});
|
|
285
|
-
|
|
292
|
+
|
|
293
|
+
if (vRef.current) {
|
|
294
|
+
clearInterval(vRef.current);
|
|
295
|
+
vRef.current = null;
|
|
296
|
+
}
|
|
286
297
|
};
|
|
287
298
|
}, [url, startTime, endTime]);
|
|
288
299
|
(0, _react.useEffect)(function () {
|
|
@@ -290,6 +301,17 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
290
301
|
onTimeChange && onTimeChange(state.currentTime ? (0, _moment["default"])(state.currentTime).format(_utils.TimeFormat.params) : '', state.speed);
|
|
291
302
|
}
|
|
292
303
|
}, [state.currentTime, state.speed]);
|
|
304
|
+
var endProgress = (0, _ahooks.useDebounce)(state.progress2, {
|
|
305
|
+
wait: 500
|
|
306
|
+
});
|
|
307
|
+
(0, _react.useEffect)(function () {
|
|
308
|
+
var currentTime = Math.floor(totalTime * endProgress / 100);
|
|
309
|
+
var player = playerRef.current;
|
|
310
|
+
player === null || player === void 0 ? void 0 : player.seekTo(currentTime);
|
|
311
|
+
setState({
|
|
312
|
+
progress: endProgress
|
|
313
|
+
});
|
|
314
|
+
}, [endProgress]);
|
|
293
315
|
/** 截图方法 */
|
|
294
316
|
|
|
295
317
|
var handleCapture = function handleCapture(e) {
|
|
@@ -310,27 +332,26 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
310
332
|
|
|
311
333
|
|
|
312
334
|
var handleSlider = function handleSlider(value) {
|
|
313
|
-
if (vRef.current)
|
|
335
|
+
if (vRef.current) {
|
|
336
|
+
clearInterval(vRef.current);
|
|
337
|
+
vRef.current = null;
|
|
338
|
+
}
|
|
339
|
+
|
|
314
340
|
var currentTime = Math.floor(totalTime * value / 100);
|
|
315
|
-
var player = playerRef.current;
|
|
316
|
-
setState({
|
|
317
|
-
progress: value
|
|
318
|
-
});
|
|
319
|
-
player === null || player === void 0 ? void 0 : player.seekTo(currentTime);
|
|
320
341
|
setState({
|
|
342
|
+
progress2: value,
|
|
321
343
|
currentTime: (0, _moment["default"])(state.currentTime).add(currentTime, 'seconds').format(_utils.TimeFormat.params)
|
|
322
344
|
});
|
|
323
|
-
var i =
|
|
345
|
+
var i = 1;
|
|
324
346
|
vRef.current = setInterval(function () {
|
|
325
347
|
if ((0, _moment["default"])(startTime).unix() + i + currentTime >= (0, _moment["default"])(endTime).unix()) {
|
|
326
348
|
clearInterval(vRef.current);
|
|
349
|
+
vRef.current = null;
|
|
327
350
|
setState({
|
|
328
351
|
currentTime: '',
|
|
329
352
|
progress: 0
|
|
330
353
|
});
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
if (!state.loading) {
|
|
354
|
+
} else if (!state.loading) {
|
|
334
355
|
setState({
|
|
335
356
|
currentTime: (0, _moment["default"])(startTime).add(i + currentTime, 's').format(_utils.TimeFormat.params),
|
|
336
357
|
progress: Math.floor((i + currentTime) / totalTime * 100)
|
|
@@ -349,7 +370,11 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
349
370
|
play: false
|
|
350
371
|
});
|
|
351
372
|
});
|
|
352
|
-
|
|
373
|
+
|
|
374
|
+
if (vRef.current) {
|
|
375
|
+
clearInterval(vRef.current);
|
|
376
|
+
vRef.current = null;
|
|
377
|
+
}
|
|
353
378
|
};
|
|
354
379
|
/** 恢复播放方法 */
|
|
355
380
|
|
|
@@ -361,11 +386,17 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
361
386
|
play: true
|
|
362
387
|
});
|
|
363
388
|
});
|
|
364
|
-
|
|
389
|
+
|
|
390
|
+
if (vRef.current) {
|
|
391
|
+
clearInterval(vRef.current);
|
|
392
|
+
vRef.current = null;
|
|
393
|
+
}
|
|
394
|
+
|
|
365
395
|
var i = 2;
|
|
366
396
|
vRef.current = setInterval(function () {
|
|
367
397
|
if ((0, _moment["default"])(state.currentTime).unix() + i >= (0, _moment["default"])(endTime).unix()) {
|
|
368
398
|
clearInterval(vRef.current);
|
|
399
|
+
vRef.current = null;
|
|
369
400
|
setState({
|
|
370
401
|
currentTime: '',
|
|
371
402
|
progress: 0
|
|
@@ -419,7 +450,7 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
419
450
|
children: [(0, _jsxRuntime.jsx)("span", Object.assign({
|
|
420
451
|
className: "current"
|
|
421
452
|
}, {
|
|
422
|
-
children: state.currentTime ? (0, _moment["default"])(state.currentTime).format('HH:mm:ss') : ''
|
|
453
|
+
children: state.currentTime ? (0, _moment["default"])(state.currentTime).format('HH:mm:ss') : '-'
|
|
423
454
|
})), (0, _jsxRuntime.jsxs)("span", Object.assign({
|
|
424
455
|
className: "total"
|
|
425
456
|
}, {
|
|
@@ -1 +1 @@
|
|
|
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","HistoryPlayer","forwardRef","props","ref","url","deviceId","deviceIp","devicePort","channelNum","deviceCode","streamType","type","enableAgent","width","height","captureName","controlBottom","startTime","endTime","onTimeChange","screenshot","showInfo","info","extraButton","controlVisible","undefined","vRef","useRef","totalTime","moment","diff","containerRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","currentTime","progress","controls","progressVisible","speedVisible","state","setState","useImperativeHandle","seekTo","time","player","current","useEffect","container","clearInterval","setTimeout","API","getToken","token","localStorage","setItem","Player","live","playBack","format","TimeFormat","params","i","setInterval","add","unix","Math","floor","onTimeUpdate","_currentTime","speed","destroy","handleCapture","capture","stopPropagation","handleFullScreen","resize","handleSlider","handlePause","pause","handleResume","resume","_jsxs","Object","assign","className","style","children","_jsx","LoadingState","InfoPanel","bottom","opacity","PauseIcon","onClick","PlayIcon","_Fragment","Slider","disabled","tipFormatter","onChange","Space","size","align","VolumeControl","defaultValue","SpeedControl","CaptureIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-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, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { InfoPanel, LoadingState, SpeedControl, VolumeControl } from '../controls';\nimport API from '../icc/api';\nimport { CaptureIcon, ExitFullScreenIcon, FullScreenIcon, PauseIcon, PlayIcon } from '../icons';\nimport Player from '../player';\nimport { TimeFormat, guidGenerator } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Slider, Space } from 'antd';\nimport Slider from 'antd/lib/slider';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nexport const HistoryPlayer = forwardRef((props, ref) => {\n const { url, deviceId, deviceIp, devicePort, channelNum, deviceCode, streamType, type, enableAgent, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, screenshot, showInfo = false, info = [], extraButton, controlVisible = undefined, } = props;\n const vRef = useRef(null);\n const totalTime = moment(endTime).diff(moment(startTime), 'seconds');\n const containerRef = 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 currentTime: '',\n progress: 0,\n controls: {\n progress: true,\n },\n progressVisible: true,\n speedVisible: true,\n });\n useImperativeHandle(ref, () => {\n return {\n seekTo: (time) => {\n const player = playerRef.current;\n if (player) {\n const currentTime = moment(time).diff(moment(startTime), 'seconds');\n return player.seekTo(currentTime);\n }\n else {\n return Promise.reject();\n }\n },\n };\n });\n useEffect(() => {\n const container = containerRef.current;\n vRef.current && clearInterval(vRef.current);\n if (!url || !container)\n return;\n let player = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\n if (type === 'bd') {\n yield new Promise((resolve) => {\n setTimeout(() => resolve(''), 2000);\n });\n }\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 = yield new Player({\n url,\n devicePort,\n deviceIp,\n channelNum,\n deviceCode,\n deviceId,\n streamType,\n enableAgent,\n container,\n live: false,\n startTime,\n endTime,\n type,\n });\n playerRef.current = player;\n yield setState({\n loading: true,\n error: false,\n controls: { progress: player.type === 'hk_ws' || player.type === 'hkcar_ws' },\n progressVisible: player.type !== 'bd',\n speedVisible: player.type !== 'bd',\n });\n player\n .playBack()\n .then(() => {\n setState({\n play: true,\n currentTime: moment(startTime).format(TimeFormat.params),\n });\n let i = 7;\n vRef.current = setInterval(() => {\n // 当时间大于等于结束时间时重置\n if (moment(startTime).add(i, 's').unix() >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n i++;\n if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i, 's')\n .format(TimeFormat.params),\n progress: Math.floor((i / totalTime) * 100),\n });\n }\n }, 1000);\n })\n .catch(() => setState({ error: true }))\n .finally(() => setState({ loading: false }));\n player.onTimeUpdate((_currentTime, speed) => {\n if (!state.loading) {\n setState({\n // currentTime: Math.floor(currentTime),\n // progress: Math.floor((currentTime / totalTime) * 100),\n speed,\n });\n }\n });\n }))();\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n vRef.current && clearInterval(vRef.current);\n };\n }, [url, startTime, endTime]);\n useEffect(() => {\n if (!state.loading) {\n onTimeChange &&\n onTimeChange(state.currentTime ? moment(state.currentTime).format(TimeFormat.params) : '', state.speed);\n }\n }, [state.currentTime, state.speed]);\n /** 截图方法 */\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n /** 全屏方法 */\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n /** 进度条控制器 */\n const handleSlider = (value) => {\n if (vRef.current)\n clearInterval(vRef.current);\n const currentTime = Math.floor((totalTime * value) / 100);\n const player = playerRef.current;\n setState({ progress: value });\n player === null || player === void 0 ? void 0 : player.seekTo(currentTime);\n setState({\n currentTime: moment(state.currentTime)\n .add(currentTime, 'seconds')\n .format(TimeFormat.params),\n });\n let i = 7;\n vRef.current = setInterval(() => {\n if (moment(startTime).unix() + i + currentTime >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i + currentTime, 's')\n .format(TimeFormat.params),\n progress: Math.floor(((i + currentTime) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n /** 暂停方法 */\n const handlePause = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.pause(() => {\n setState({ play: false });\n });\n vRef.current && clearInterval(vRef.current);\n };\n /** 恢复播放方法 */\n const handleResume = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.resume(() => {\n setState({ play: true });\n });\n vRef.current && clearInterval(vRef.current);\n let i = 2;\n vRef.current = setInterval(() => {\n if (moment(state.currentTime).unix() + i >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n if (!state.loading) {\n setState({\n currentTime: moment(state.currentTime).add(i, 's').format(TimeFormat.params),\n progress: Math.floor(((i + moment(state.currentTime).unix()) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: containerRef, style: { height: '100%', width: '100%' }, id: state.id }), state.loading && _jsx(LoadingState, {}), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsxs(\"div\", Object.assign({ className: \"controls\", ref: controlsRef, style: { bottom: controlBottom, opacity: controlVisible ? 1 : undefined } }, { children: [state.play ? (_jsx(PauseIcon, { onClick: handlePause })) : (_jsx(PlayIcon, { onClick: handleResume })), state.progressVisible && (_jsxs(_Fragment, { children: [_jsxs(\"div\", Object.assign({ className: \"time\" }, { children: [_jsx(\"span\", Object.assign({ className: \"current\" }, { children: state.currentTime\n ? moment(state.currentTime).format('HH:mm:ss')\n : '' })), _jsxs(\"span\", Object.assign({ className: \"total\" }, { children: [\"/\", moment(endTime).format('HH:mm:ss')] }))] })), _jsx(\"div\", Object.assign({ className: \"slider\" }, { children: _jsx(Slider, { disabled: !state.controls.progress, tipFormatter: null, onChange: handleSlider, value: state.progress }) }))] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, defaultValue: 0, container: controlsRef.current }), state.speedVisible && (_jsx(SpeedControl, { player: playerRef.current, container: controlsRef.current })), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), extraButton ? extraButton : null, isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] }))] }))] })));\n});\nHistoryPlayer.displayName = 'HistoryPlayer';\nexport default HistoryPlayer;\n"],"mappings":";;;;;;;;;AASA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;+CAnBA,oJ;;;;;;;;;;;;;;AADA,IAAIA,SAAS,GAAI,UAAQ,SAAKA,SAAd,IAA4B,UAAUC,OAAV,EAAmBC,UAAnB,EAA+BC,CAA/B,EAAkCC,SAAlC,EAA6C;EACrF,SAASC,KAAT,CAAeC,KAAf,EAAsB;IAAE,OAAOA,KAAK,YAAYH,CAAjB,GAAqBG,KAArB,GAA6B,IAAIH,CAAJ,CAAM,UAAUI,OAAV,EAAmB;MAAEA,OAAO,CAACD,KAAD,CAAP;IAAiB,CAA5C,CAApC;EAAoF;;EAC5G,OAAO,KAAKH,CAAC,KAAKA,CAAC,GAAGK,OAAT,CAAN,EAAyB,UAAUD,OAAV,EAAmBE,MAAnB,EAA2B;IACvD,SAASC,SAAT,CAAmBJ,KAAnB,EAA0B;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAACQ,IAAV,CAAeN,KAAf,CAAD,CAAJ;MAA8B,CAApC,CAAqC,OAAOO,CAAP,EAAU;QAAEJ,MAAM,CAACI,CAAD,CAAN;MAAY;IAAE;;IAC3F,SAASC,QAAT,CAAkBR,KAAlB,EAAyB;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAAC,OAAD,CAAT,CAAmBE,KAAnB,CAAD,CAAJ;MAAkC,CAAxC,CAAyC,OAAOO,CAAP,EAAU;QAAEJ,MAAM,CAACI,CAAD,CAAN;MAAY;IAAE;;IAC9F,SAASF,IAAT,CAAcI,MAAd,EAAsB;MAAEA,MAAM,CAACC,IAAP,GAAcT,OAAO,CAACQ,MAAM,CAACT,KAAR,CAArB,GAAsCD,KAAK,CAACU,MAAM,CAACT,KAAR,CAAL,CAAoBW,IAApB,CAAyBP,SAAzB,EAAoCI,QAApC,CAAtC;IAAsF;;IAC9GH,IAAI,CAAC,CAACP,SAAS,GAAGA,SAAS,CAACc,KAAV,CAAgBjB,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyDU,IAAzD,EAAD,CAAJ;EACH,CALM,CAAP;AAMH,CARD;;AAqBO,IAAMO,aAAa,gBAAG,IAAAC,iBAAA,EAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;EACpD,IAAQC,GAAR,GAA6RF,KAA7R,CAAQE,GAAR;EAAA,IAAaC,QAAb,GAA6RH,KAA7R,CAAaG,QAAb;EAAA,IAAuBC,QAAvB,GAA6RJ,KAA7R,CAAuBI,QAAvB;EAAA,IAAiCC,UAAjC,GAA6RL,KAA7R,CAAiCK,UAAjC;EAAA,IAA6CC,UAA7C,GAA6RN,KAA7R,CAA6CM,UAA7C;EAAA,IAAyDC,UAAzD,GAA6RP,KAA7R,CAAyDO,UAAzD;EAAA,IAAqEC,UAArE,GAA6RR,KAA7R,CAAqEQ,UAArE;EAAA,IAAiFC,IAAjF,GAA6RT,KAA7R,CAAiFS,IAAjF;EAAA,IAAuFC,WAAvF,GAA6RV,KAA7R,CAAuFU,WAAvF;EAAA,mBAA6RV,KAA7R,CAAoGW,KAApG;EAAA,IAAoGA,KAApG,6BAA4G,MAA5G;EAAA,oBAA6RX,KAA7R,CAAoHY,MAApH;EAAA,IAAoHA,MAApH,8BAA6H,MAA7H;EAAA,IAAqIC,WAArI,GAA6Rb,KAA7R,CAAqIa,WAArI;EAAA,2BAA6Rb,KAA7R,CAAkJc,aAAlJ;EAAA,IAAkJA,aAAlJ,qCAAkK,CAAlK;EAAA,IAAqKC,SAArK,GAA6Rf,KAA7R,CAAqKe,SAArK;EAAA,IAAgLC,OAAhL,GAA6RhB,KAA7R,CAAgLgB,OAAhL;EAAA,IAAyLC,YAAzL,GAA6RjB,KAA7R,CAAyLiB,YAAzL;EAAA,IAAuMC,UAAvM,GAA6RlB,KAA7R,CAAuMkB,UAAvM;EAAA,sBAA6RlB,KAA7R,CAAmNmB,QAAnN;EAAA,IAAmNA,QAAnN,gCAA8N,KAA9N;EAAA,kBAA6RnB,KAA7R,CAAqOoB,IAArO;EAAA,IAAqOA,IAArO,4BAA4O,EAA5O;EAAA,IAAgPC,WAAhP,GAA6RrB,KAA7R,CAAgPqB,WAAhP;EAAA,4BAA6RrB,KAA7R,CAA6PsB,cAA7P;EAAA,IAA6PA,cAA7P,sCAA8QC,SAA9Q;EACA,IAAMC,IAAI,GAAG,IAAAC,aAAA,EAAO,IAAP,CAAb;EACA,IAAMC,SAAS,GAAG,IAAAC,kBAAA,EAAOX,OAAP,EAAgBY,IAAhB,CAAqB,IAAAD,kBAAA,EAAOZ,SAAP,CAArB,EAAwC,SAAxC,CAAlB;EACA,IAAMc,YAAY,GAAG,IAAAJ,aAAA,EAAO,IAAP,CAArB;EACA,IAAMK,OAAO,GAAG,IAAAL,aAAA,EAAO,IAAP,CAAhB;EACA,IAAMM,WAAW,GAAG,IAAAN,aAAA,EAAO,IAAP,CAApB;EACA,IAAMO,SAAS,GAAG,IAAAP,aAAA,GAAlB;;EACA,qBAA6C,IAAAQ,qBAAA,EAAcH,OAAd,CAA7C;EAAA;EAAA,IAAOI,YAAP;EAAA,IAAuBC,gBAAvB,sBAAuBA,gBAAvB;;EACA,mBAA0B,IAAAC,mBAAA,EAAY;IAClCC,IAAI,EAAE,KAD4B;IAElCC,KAAK,EAAE,KAF2B;IAGlCC,OAAO,EAAE,KAHyB;IAIlCC,EAAE,EAAE,mBAAmB,IAAAC,oBAAA,GAJW;IAKlCC,MAAM,EAAE,CAL0B;IAMlCC,WAAW,EAAE,EANqB;IAOlCC,QAAQ,EAAE,CAPwB;IAQlCC,QAAQ,EAAE;MACND,QAAQ,EAAE;IADJ,CARwB;IAWlCE,eAAe,EAAE,IAXiB;IAYlCC,YAAY,EAAE;EAZoB,CAAZ,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EAcA,IAAAC,0BAAA,EAAoBjD,GAApB,EAAyB,YAAM;IAC3B,OAAO;MACHkD,MAAM,EAAE,gBAACC,IAAD,EAAU;QACd,IAAMC,MAAM,GAAGrB,SAAS,CAACsB,OAAzB;;QACA,IAAID,MAAJ,EAAY;UACR,IAAMV,WAAW,GAAG,IAAAhB,kBAAA,EAAOyB,IAAP,EAAaxB,IAAb,CAAkB,IAAAD,kBAAA,EAAOZ,SAAP,CAAlB,EAAqC,SAArC,CAApB;UACA,OAAOsC,MAAM,CAACF,MAAP,CAAcR,WAAd,CAAP;QACH,CAHD,MAIK;UACD,OAAOxD,OAAO,CAACC,MAAR,EAAP;QACH;MACJ;IAVE,CAAP;EAYH,CAbD;EAcA,IAAAmE,gBAAA,EAAU,YAAM;IACZ,IAAMC,SAAS,GAAG3B,YAAY,CAACyB,OAA/B;IACA9B,IAAI,CAAC8B,OAAL,IAAgBG,aAAa,CAACjC,IAAI,CAAC8B,OAAN,CAA7B;IACA,IAAI,CAACpD,GAAD,IAAQ,CAACsD,SAAb,EACI;IACJ,IAAIH,MAAM,GAAG,IAAb;;IACA,CAAC;MAAA,OAAM1E,SAAS,CAAC,KAAK,CAAN,EAAS,KAAK,CAAd,EAAiB,KAAK,CAAtB,0CAAyB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,MACjC8B,IAAI,KAAK,IADwB;kBAAA;kBAAA;gBAAA;;gBAAA;gBAEjC,OAAM,IAAItB,OAAJ,CAAY,UAACD,OAAD,EAAa;kBAC3BwE,UAAU,CAAC;oBAAA,OAAMxE,OAAO,CAAC,EAAD,CAAb;kBAAA,CAAD,EAAoB,IAApB,CAAV;gBACH,CAFK,CAAN;;cAFiC;gBAAA,MAOjCuB,IAAI,KAAK,QAPwB;kBAAA;kBAAA;gBAAA;;gBAAA;gBAQnB,OAAMkD,eAAA,CAAIC,QAAJ,CAAa;kBAC7BzD,QAAQ,EAARA;gBAD6B,CAAb,CAAN;;cARmB;gBAQ3B0D,KAR2B;gBAWjCC,YAAY,CAACC,OAAb,CAAqB,aAArB,EAAoCF,KAApC;;cAXiC;gBAAA;gBAa5B,OAAM,IAAIG,kBAAJ,CAAW;kBACtB9D,GAAG,EAAHA,GADsB;kBAEtBG,UAAU,EAAVA,UAFsB;kBAGtBD,QAAQ,EAARA,QAHsB;kBAItBE,UAAU,EAAVA,UAJsB;kBAKtBC,UAAU,EAAVA,UALsB;kBAMtBJ,QAAQ,EAARA,QANsB;kBAOtBK,UAAU,EAAVA,UAPsB;kBAQtBE,WAAW,EAAXA,WARsB;kBAStB8C,SAAS,EAATA,SATsB;kBAUtBS,IAAI,EAAE,KAVgB;kBAWtBlD,SAAS,EAATA,SAXsB;kBAYtBC,OAAO,EAAPA,OAZsB;kBAatBP,IAAI,EAAJA;gBAbsB,CAAX,CAAN;;cAb4B;gBAarC4C,MAbqC;gBA4BrCrB,SAAS,CAACsB,OAAV,GAAoBD,MAApB;gBA5BqC;gBA6BrC,OAAMJ,QAAQ,CAAC;kBACXV,OAAO,EAAE,IADE;kBAEXD,KAAK,EAAE,KAFI;kBAGXO,QAAQ,EAAE;oBAAED,QAAQ,EAAES,MAAM,CAAC5C,IAAP,KAAgB,OAAhB,IAA2B4C,MAAM,CAAC5C,IAAP,KAAgB;kBAAvD,CAHC;kBAIXqC,eAAe,EAAEO,MAAM,CAAC5C,IAAP,KAAgB,IAJtB;kBAKXsC,YAAY,EAAEM,MAAM,CAAC5C,IAAP,KAAgB;gBALnB,CAAD,CAAd;;cA7BqC;gBAoCrC4C,MAAM,CACDa,QADL,GAEKtE,IAFL,CAEU,YAAM;kBACZqD,QAAQ,CAAC;oBACLZ,IAAI,EAAE,IADD;oBAELM,WAAW,EAAE,IAAAhB,kBAAA,EAAOZ,SAAP,EAAkBoD,MAAlB,CAAyBC,iBAAA,CAAWC,MAApC;kBAFR,CAAD,CAAR;kBAIA,IAAIC,CAAC,GAAG,CAAR;kBACA9C,IAAI,CAAC8B,OAAL,GAAeiB,WAAW,CAAC,YAAM;oBAC7B;oBACA,IAAI,IAAA5C,kBAAA,EAAOZ,SAAP,EAAkByD,GAAlB,CAAsBF,CAAtB,EAAyB,GAAzB,EAA8BG,IAA9B,MAAwC,IAAA9C,kBAAA,EAAOX,OAAP,EAAgByD,IAAhB,EAA5C,EAAoE;sBAChEhB,aAAa,CAACjC,IAAI,CAAC8B,OAAN,CAAb;sBACAL,QAAQ,CAAC;wBACLN,WAAW,EAAE,EADR;wBAELC,QAAQ,EAAE;sBAFL,CAAD,CAAR;oBAIH;;oBACD0B,CAAC;;oBACD,IAAI,CAACtB,KAAK,CAACT,OAAX,EAAoB;sBAChBU,QAAQ,CAAC;wBACLN,WAAW,EAAE,IAAAhB,kBAAA,EAAOZ,SAAP,EACRyD,GADQ,CACJF,CADI,EACD,GADC,EAERH,MAFQ,CAEDC,iBAAA,CAAWC,MAFV,CADR;wBAILzB,QAAQ,EAAE8B,IAAI,CAACC,KAAL,CAAYL,CAAC,GAAG5C,SAAL,GAAkB,GAA7B;sBAJL,CAAD,CAAR;oBAMH;kBACJ,CAlByB,EAkBvB,IAlBuB,CAA1B;gBAmBH,CA3BD,WA4BW;kBAAA,OAAMuB,QAAQ,CAAC;oBAAEX,KAAK,EAAE;kBAAT,CAAD,CAAd;gBAAA,CA5BX,aA6Ba;kBAAA,OAAMW,QAAQ,CAAC;oBAAEV,OAAO,EAAE;kBAAX,CAAD,CAAd;gBAAA,CA7Bb;gBA8BAc,MAAM,CAACuB,YAAP,CAAoB,UAACC,YAAD,EAAeC,KAAf,EAAyB;kBACzC,IAAI,CAAC9B,KAAK,CAACT,OAAX,EAAoB;oBAChBU,QAAQ,CAAC;sBACL;sBACA;sBACA6B,KAAK,EAALA;oBAHK,CAAD,CAAR;kBAKH;gBACJ,CARD;;cAlEqC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAAzB,EAAf;IAAA,CAAD;;IA4EA,OAAO,YAAM;MACTzB,MAAM,CAAC0B,OAAP;MACA9B,QAAQ,CAAC;QAAEX,KAAK,EAAE,KAAT;QAAgBC,OAAO,EAAE,KAAzB;QAAgCF,IAAI,EAAE;MAAtC,CAAD,CAAR;MACAb,IAAI,CAAC8B,OAAL,IAAgBG,aAAa,CAACjC,IAAI,CAAC8B,OAAN,CAA7B;IACH,CAJD;EAKH,CAvFD,EAuFG,CAACpD,GAAD,EAAMa,SAAN,EAAiBC,OAAjB,CAvFH;EAwFA,IAAAuC,gBAAA,EAAU,YAAM;IACZ,IAAI,CAACP,KAAK,CAACT,OAAX,EAAoB;MAChBtB,YAAY,IACRA,YAAY,CAAC+B,KAAK,CAACL,WAAN,GAAoB,IAAAhB,kBAAA,EAAOqB,KAAK,CAACL,WAAb,EAA0BwB,MAA1B,CAAiCC,iBAAA,CAAWC,MAA5C,CAApB,GAA0E,EAA3E,EAA+ErB,KAAK,CAAC8B,KAArF,CADhB;IAEH;EACJ,CALD,EAKG,CAAC9B,KAAK,CAACL,WAAP,EAAoBK,KAAK,CAAC8B,KAA1B,CALH;EAMA;;EACA,IAAME,aAAa,GAAG,SAAhBA,aAAgB,CAACxF,CAAD,EAAO;IACzB,IAAM6D,MAAM,GAAGrB,SAAS,CAACsB,OAAzB;IACAD,MAAM,IAAIA,MAAM,CAAC4B,OAAP,CAAepE,WAAf,EAA4BK,UAA5B,CAAV;IACA1B,CAAC,CAAC0F,eAAF;EACH,CAJD;EAKA;;;EACA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAC3F,CAAD,EAAO;IAC5B2C,gBAAgB;IAChB,IAAMkB,MAAM,GAAGrB,SAAS,CAACsB,OAAzB;IACAD,MAAM,IAAIA,MAAM,CAAC+B,MAAP,EAAV;IACA5F,CAAC,CAAC0F,eAAF;EACH,CALD;EAMA;;;EACA,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACpG,KAAD,EAAW;IAC5B,IAAIuC,IAAI,CAAC8B,OAAT,EACIG,aAAa,CAACjC,IAAI,CAAC8B,OAAN,CAAb;IACJ,IAAMX,WAAW,GAAG+B,IAAI,CAACC,KAAL,CAAYjD,SAAS,GAAGzC,KAAb,GAAsB,GAAjC,CAApB;IACA,IAAMoE,MAAM,GAAGrB,SAAS,CAACsB,OAAzB;IACAL,QAAQ,CAAC;MAAEL,QAAQ,EAAE3D;IAAZ,CAAD,CAAR;IACAoE,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACF,MAAP,CAAcR,WAAd,CAAhD;IACAM,QAAQ,CAAC;MACLN,WAAW,EAAE,IAAAhB,kBAAA,EAAOqB,KAAK,CAACL,WAAb,EACR6B,GADQ,CACJ7B,WADI,EACS,SADT,EAERwB,MAFQ,CAEDC,iBAAA,CAAWC,MAFV;IADR,CAAD,CAAR;IAKA,IAAIC,CAAC,GAAG,CAAR;IACA9C,IAAI,CAAC8B,OAAL,GAAeiB,WAAW,CAAC,YAAM;MAC7B,IAAI,IAAA5C,kBAAA,EAAOZ,SAAP,EAAkB0D,IAAlB,KAA2BH,CAA3B,GAA+B3B,WAA/B,IAA8C,IAAAhB,kBAAA,EAAOX,OAAP,EAAgByD,IAAhB,EAAlD,EAA0E;QACtEhB,aAAa,CAACjC,IAAI,CAAC8B,OAAN,CAAb;QACAL,QAAQ,CAAC;UACLN,WAAW,EAAE,EADR;UAELC,QAAQ,EAAE;QAFL,CAAD,CAAR;MAIH;;MACD,IAAI,CAACI,KAAK,CAACT,OAAX,EAAoB;QAChBU,QAAQ,CAAC;UACLN,WAAW,EAAE,IAAAhB,kBAAA,EAAOZ,SAAP,EACRyD,GADQ,CACJF,CAAC,GAAG3B,WADA,EACa,GADb,EAERwB,MAFQ,CAEDC,iBAAA,CAAWC,MAFV,CADR;UAILzB,QAAQ,EAAE8B,IAAI,CAACC,KAAL,CAAY,CAACL,CAAC,GAAG3B,WAAL,IAAoBjB,SAArB,GAAkC,GAA7C;QAJL,CAAD,CAAR;QAMA4C,CAAC;MACJ;IACJ,CAjByB,EAiBvB,IAjBuB,CAA1B;EAkBH,CA/BD;EAgCA;;;EACA,IAAMgB,WAAW,GAAG,SAAdA,WAAc,GAAM;IACtB,IAAMjC,MAAM,GAAGrB,SAAS,CAACsB,OAAzB;IACAD,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACkC,KAAP,CAAa,YAAM;MAC/DtC,QAAQ,CAAC;QAAEZ,IAAI,EAAE;MAAR,CAAD,CAAR;IACH,CAF+C,CAAhD;IAGAb,IAAI,CAAC8B,OAAL,IAAgBG,aAAa,CAACjC,IAAI,CAAC8B,OAAN,CAA7B;EACH,CAND;EAOA;;;EACA,IAAMkC,YAAY,GAAG,SAAfA,YAAe,GAAM;IACvB,IAAMnC,MAAM,GAAGrB,SAAS,CAACsB,OAAzB;IACAD,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACoC,MAAP,CAAc,YAAM;MAChExC,QAAQ,CAAC;QAAEZ,IAAI,EAAE;MAAR,CAAD,CAAR;IACH,CAF+C,CAAhD;IAGAb,IAAI,CAAC8B,OAAL,IAAgBG,aAAa,CAACjC,IAAI,CAAC8B,OAAN,CAA7B;IACA,IAAIgB,CAAC,GAAG,CAAR;IACA9C,IAAI,CAAC8B,OAAL,GAAeiB,WAAW,CAAC,YAAM;MAC7B,IAAI,IAAA5C,kBAAA,EAAOqB,KAAK,CAACL,WAAb,EAA0B8B,IAA1B,KAAmCH,CAAnC,IAAwC,IAAA3C,kBAAA,EAAOX,OAAP,EAAgByD,IAAhB,EAA5C,EAAoE;QAChEhB,aAAa,CAACjC,IAAI,CAAC8B,OAAN,CAAb;QACAL,QAAQ,CAAC;UACLN,WAAW,EAAE,EADR;UAELC,QAAQ,EAAE;QAFL,CAAD,CAAR;MAIH;;MACD,IAAI,CAACI,KAAK,CAACT,OAAX,EAAoB;QAChBU,QAAQ,CAAC;UACLN,WAAW,EAAE,IAAAhB,kBAAA,EAAOqB,KAAK,CAACL,WAAb,EAA0B6B,GAA1B,CAA8BF,CAA9B,EAAiC,GAAjC,EAAsCH,MAAtC,CAA6CC,iBAAA,CAAWC,MAAxD,CADR;UAELzB,QAAQ,EAAE8B,IAAI,CAACC,KAAL,CAAY,CAACL,CAAC,GAAG,IAAA3C,kBAAA,EAAOqB,KAAK,CAACL,WAAb,EAA0B8B,IAA1B,EAAL,IAAyC/C,SAA1C,GAAuD,GAAlE;QAFL,CAAD,CAAR;QAIA4C,CAAC;MACJ;IACJ,CAfyB,EAevB,IAfuB,CAA1B;EAgBH,CAvBD;;EAwBA,OAAQ,IAAAoB,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;IAAEC,SAAS,EAAE,oBAAb;IAAmC5F,GAAG,EAAE6B,OAAxC;IAAiDgE,KAAK,EAAE;MAAEnF,KAAK,EAALA,KAAF;MAASC,MAAM,EAANA;IAAT;EAAxD,CAAd,EAA2F;IAAEmF,QAAQ,EAAE,CAAC,IAAAC,eAAA,EAAK,KAAL,EAAY;MAAE/F,GAAG,EAAE4B,YAAP;MAAqBiE,KAAK,EAAE;QAAElF,MAAM,EAAE,MAAV;QAAkBD,KAAK,EAAE;MAAzB,CAA5B;MAA+D6B,EAAE,EAAEQ,KAAK,CAACR;IAAzE,CAAZ,CAAD,EAA6FQ,KAAK,CAACT,OAAN,IAAiB,IAAAyD,eAAA,EAAKC,sBAAL,EAAmB,EAAnB,CAA9G,EAAsI,IAAAD,eAAA,EAAKE,mBAAL,EAAgB;MAAE/E,QAAQ,EAAEA,QAAZ;MAAsBC,IAAI,EAAEA;IAA5B,CAAhB,CAAtI,EAA2L,IAAAsE,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;MAAEC,SAAS,EAAE,UAAb;MAAyB5F,GAAG,EAAE8B,WAA9B;MAA2C+D,KAAK,EAAE;QAAEK,MAAM,EAAErF,aAAV;QAAyBsF,OAAO,EAAE9E,cAAc,GAAG,CAAH,GAAOC;MAAvD;IAAlD,CAAd,EAAsI;MAAEwE,QAAQ,EAAE,CAAC/C,KAAK,CAACX,IAAN,GAAc,IAAA2D,eAAA,EAAKK,gBAAL,EAAgB;QAAEC,OAAO,EAAEhB;MAAX,CAAhB,CAAd,GAA4D,IAAAU,eAAA,EAAKO,eAAL,EAAe;QAAED,OAAO,EAAEd;MAAX,CAAf,CAA7D,EAAyGxC,KAAK,CAACF,eAAN,IAA0B,IAAA4C,gBAAA,EAAMc,oBAAN,EAAiB;QAAET,QAAQ,EAAE,CAAC,IAAAL,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;UAAEC,SAAS,EAAE;QAAb,CAAd,EAAqC;UAAEE,QAAQ,EAAE,CAAC,IAAAC,eAAA,EAAK,MAAL,EAAaL,MAAM,CAACC,MAAP,CAAc;YAAEC,SAAS,EAAE;UAAb,CAAd,EAAwC;YAAEE,QAAQ,EAAE/C,KAAK,CAACL,WAAN,GAC7sB,IAAAhB,kBAAA,EAAOqB,KAAK,CAACL,WAAb,EAA0BwB,MAA1B,CAAiC,UAAjC,CAD6sB,GAE7sB;UAFisB,CAAxC,CAAb,CAAD,EAEnoB,IAAAuB,gBAAA,EAAM,MAAN,EAAcC,MAAM,CAACC,MAAP,CAAc;YAAEC,SAAS,EAAE;UAAb,CAAd,EAAsC;YAAEE,QAAQ,EAAE,CAAC,GAAD,EAAM,IAAApE,kBAAA,EAAOX,OAAP,EAAgBmD,MAAhB,CAAuB,UAAvB,CAAN;UAAZ,CAAtC,CAAd,CAFmoB;QAAZ,CAArC,CAAb,CAAD,EAEhd,IAAA6B,eAAA,EAAK,KAAL,EAAYL,MAAM,CAACC,MAAP,CAAc;UAAEC,SAAS,EAAE;QAAb,CAAd,EAAuC;UAAEE,QAAQ,EAAE,IAAAC,eAAA,EAAKS,kBAAL,EAAa;YAAEC,QAAQ,EAAE,CAAC1D,KAAK,CAACH,QAAN,CAAeD,QAA5B;YAAsC+D,YAAY,EAAE,IAApD;YAA0DC,QAAQ,EAAEvB,YAApE;YAAkFpG,KAAK,EAAE+D,KAAK,CAACJ;UAA/F,CAAb;QAAZ,CAAvC,CAAZ,CAFgd;MAAZ,CAAjB,CAAnI,EAE/G,IAAA8C,gBAAA,EAAMmB,iBAAN,EAAalB,MAAM,CAACC,MAAP,CAAc;QAAEC,SAAS,EAAE,OAAb;QAAsBiB,IAAI,EAAE,EAA5B;QAAgCC,KAAK,EAAE;MAAvC,CAAd,EAAiE;QAAEhB,QAAQ,EAAE,CAAC,IAAAC,eAAA,EAAKgB,uBAAL,EAAoB;UAAE3D,MAAM,EAAErB,SAAS,CAACsB,OAApB;UAA6B2D,YAAY,EAAE,CAA3C;UAA8CzD,SAAS,EAAEzB,WAAW,CAACuB;QAArE,CAApB,CAAD,EAAsGN,KAAK,CAACD,YAAN,IAAuB,IAAAiD,eAAA,EAAKkB,sBAAL,EAAmB;UAAE7D,MAAM,EAAErB,SAAS,CAACsB,OAApB;UAA6BE,SAAS,EAAEzB,WAAW,CAACuB;QAApD,CAAnB,CAA7H,EAAiN,CAAC,CAACpC,UAAF,IAAgB,IAAA8E,eAAA,EAAKmB,kBAAL,EAAkB;UAAEb,OAAO,EAAEtB;QAAX,CAAlB,CAAjO,EAAgR3D,WAAW,GAAGA,WAAH,GAAiB,IAA5S,EAAkTa,YAAY,GAAI,IAAA8D,eAAA,EAAKoB,yBAAL,EAAyB;UAAEd,OAAO,EAAEnB;QAAX,CAAzB,CAAJ,GAAgE,IAAAa,eAAA,EAAKqB,qBAAL,EAAqB;UAAEf,OAAO,EAAEnB;QAAX,CAArB,CAA9X;MAAZ,CAAjE,CAAb,CAF+G;IAAZ,CAAtI,CAAb,CAA3L;EAAZ,CAA3F,CAAb,CAAR;AAGH,CArN4B,CAAtB;;AAsNPrF,aAAa,CAACwH,WAAd,GAA4B,eAA5B;eACexH,a"}
|
|
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","HistoryPlayer","forwardRef","props","ref","url","deviceId","deviceIp","devicePort","channelNum","deviceCode","streamType","type","enableAgent","width","height","captureName","controlBottom","startTime","endTime","onTimeChange","screenshot","showInfo","info","extraButton","controlVisible","undefined","vRef","useRef","totalTime","moment","diff","containerRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","currentTime","progress","progress2","controls","progressVisible","speedVisible","state","setState","useImperativeHandle","seekTo","time","player","current","useEffect","container","clearInterval","setTimeout","API","getToken","token","localStorage","setItem","Player","live","playBack","format","TimeFormat","params","i","setInterval","add","unix","Math","floor","onTimeUpdate","_currentTime","speed","destroy","endProgress","useDebounce","wait","handleCapture","capture","stopPropagation","handleFullScreen","resize","handleSlider","handlePause","pause","handleResume","resume","_jsxs","Object","assign","className","style","children","_jsx","LoadingState","InfoPanel","bottom","opacity","PauseIcon","onClick","PlayIcon","_Fragment","Slider","disabled","tipFormatter","onChange","Space","size","align","VolumeControl","defaultValue","SpeedControl","CaptureIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-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, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { InfoPanel, LoadingState, SpeedControl, VolumeControl } from '../controls';\nimport API from '../icc/api';\nimport { CaptureIcon, ExitFullScreenIcon, FullScreenIcon, PauseIcon, PlayIcon } from '../icons';\nimport Player from '../player';\nimport { TimeFormat, guidGenerator } from '../utils';\nimport { useDebounce, useFullscreen, useSetState } from 'ahooks';\n// import { Slider, Space } from 'antd';\nimport Slider from 'antd/lib/slider';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nexport const HistoryPlayer = forwardRef((props, ref) => {\n const { url, deviceId, deviceIp, devicePort, channelNum, deviceCode, streamType, type, enableAgent, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, screenshot, showInfo = false, info = [], extraButton, controlVisible = undefined, } = props;\n const vRef = useRef(null);\n const totalTime = moment(endTime).diff(moment(startTime), 'seconds');\n const containerRef = 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 currentTime: '',\n progress: 0,\n progress2: 0,\n controls: {\n progress: true,\n },\n progressVisible: true,\n speedVisible: true,\n });\n useImperativeHandle(ref, () => {\n return {\n seekTo: (time) => {\n const player = playerRef.current;\n if (player) {\n const currentTime = moment(time).diff(moment(startTime), 'seconds');\n return player.seekTo(currentTime);\n }\n else {\n return Promise.reject();\n }\n },\n };\n });\n useEffect(() => {\n const container = containerRef.current;\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n if (!url || !container)\n return;\n let player = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\n if (type === 'bd') {\n yield new Promise((resolve) => {\n setTimeout(() => resolve(''), 2000);\n });\n }\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 = yield new Player({\n url,\n devicePort,\n deviceIp,\n channelNum,\n deviceCode,\n deviceId,\n streamType,\n enableAgent,\n container,\n live: false,\n startTime,\n endTime,\n type,\n });\n playerRef.current = player;\n yield setState({\n loading: true,\n error: false,\n controls: { progress: player.type === 'hk_ws' || player.type === 'hkcar_ws' },\n progressVisible: player.type !== 'bd',\n speedVisible: player.type !== 'bd',\n });\n player\n .playBack()\n .then(() => {\n setState({\n play: true,\n currentTime: moment(startTime).format(TimeFormat.params),\n });\n let i = 1;\n vRef.current = setInterval(() => {\n // 当时间大于等于结束时间时重置\n if (moment(startTime).add(i, 's').unix() >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else {\n i++;\n if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i, 's')\n .format(TimeFormat.params),\n progress: Math.floor((i / totalTime) * 100),\n });\n }\n }\n }, 1000);\n })\n .catch(() => setState({ error: true }))\n .finally(() => setState({ loading: false }));\n player.onTimeUpdate((_currentTime, speed) => {\n if (!state.loading) {\n setState({\n // currentTime: Math.floor(currentTime),\n // progress: Math.floor((currentTime / totalTime) * 100),\n speed,\n });\n }\n });\n }))();\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n };\n }, [url, startTime, endTime]);\n useEffect(() => {\n if (!state.loading) {\n onTimeChange &&\n onTimeChange(state.currentTime ? moment(state.currentTime).format(TimeFormat.params) : '', state.speed);\n }\n }, [state.currentTime, state.speed]);\n const endProgress = useDebounce(state.progress2, { wait: 500 });\n useEffect(() => {\n const currentTime = Math.floor((totalTime * endProgress) / 100);\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.seekTo(currentTime);\n setState({\n progress: endProgress,\n });\n }, [endProgress]);\n /** 截图方法 */\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n /** 全屏方法 */\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n /** 进度条控制器 */\n const handleSlider = (value) => {\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n const currentTime = Math.floor((totalTime * value) / 100);\n setState({\n progress2: value,\n currentTime: moment(state.currentTime)\n .add(currentTime, 'seconds')\n .format(TimeFormat.params),\n });\n let i = 1;\n vRef.current = setInterval(() => {\n if (moment(startTime).unix() + i + currentTime >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i + currentTime, 's')\n .format(TimeFormat.params),\n progress: Math.floor(((i + currentTime) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n /** 暂停方法 */\n const handlePause = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.pause(() => {\n setState({ play: false });\n });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n };\n /** 恢复播放方法 */\n const handleResume = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.resume(() => {\n setState({ play: true });\n });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n let i = 2;\n vRef.current = setInterval(() => {\n if (moment(state.currentTime).unix() + i >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n if (!state.loading) {\n setState({\n currentTime: moment(state.currentTime).add(i, 's').format(TimeFormat.params),\n progress: Math.floor(((i + moment(state.currentTime).unix()) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: containerRef, style: { height: '100%', width: '100%' }, id: state.id }), state.loading && _jsx(LoadingState, {}), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsxs(\"div\", Object.assign({ className: \"controls\", ref: controlsRef, style: { bottom: controlBottom, opacity: controlVisible ? 1 : undefined } }, { children: [state.play ? (_jsx(PauseIcon, { onClick: handlePause })) : (_jsx(PlayIcon, { onClick: handleResume })), state.progressVisible && (_jsxs(_Fragment, { children: [_jsxs(\"div\", Object.assign({ className: \"time\" }, { children: [_jsx(\"span\", Object.assign({ className: \"current\" }, { children: state.currentTime\n ? moment(state.currentTime).format('HH:mm:ss')\n : '-' })), _jsxs(\"span\", Object.assign({ className: \"total\" }, { children: [\"/\", moment(endTime).format('HH:mm:ss')] }))] })), _jsx(\"div\", Object.assign({ className: \"slider\" }, { children: _jsx(Slider, { disabled: !state.controls.progress, tipFormatter: null, onChange: handleSlider, value: state.progress }) }))] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, defaultValue: 0, container: controlsRef.current }), state.speedVisible && (_jsx(SpeedControl, { player: playerRef.current, container: controlsRef.current })), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), extraButton ? extraButton : null, isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] }))] }))] })));\n});\nHistoryPlayer.displayName = 'HistoryPlayer';\nexport default HistoryPlayer;\n"],"mappings":";;;;;;;;;AASA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;+CAnBA,oJ;;;;;;;;;;;;;;AADA,IAAIA,SAAS,GAAI,UAAQ,SAAKA,SAAd,IAA4B,UAAUC,OAAV,EAAmBC,UAAnB,EAA+BC,CAA/B,EAAkCC,SAAlC,EAA6C;EACrF,SAASC,KAAT,CAAeC,KAAf,EAAsB;IAAE,OAAOA,KAAK,YAAYH,CAAjB,GAAqBG,KAArB,GAA6B,IAAIH,CAAJ,CAAM,UAAUI,OAAV,EAAmB;MAAEA,OAAO,CAACD,KAAD,CAAP;IAAiB,CAA5C,CAApC;EAAoF;;EAC5G,OAAO,KAAKH,CAAC,KAAKA,CAAC,GAAGK,OAAT,CAAN,EAAyB,UAAUD,OAAV,EAAmBE,MAAnB,EAA2B;IACvD,SAASC,SAAT,CAAmBJ,KAAnB,EAA0B;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAACQ,IAAV,CAAeN,KAAf,CAAD,CAAJ;MAA8B,CAApC,CAAqC,OAAOO,CAAP,EAAU;QAAEJ,MAAM,CAACI,CAAD,CAAN;MAAY;IAAE;;IAC3F,SAASC,QAAT,CAAkBR,KAAlB,EAAyB;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAAC,OAAD,CAAT,CAAmBE,KAAnB,CAAD,CAAJ;MAAkC,CAAxC,CAAyC,OAAOO,CAAP,EAAU;QAAEJ,MAAM,CAACI,CAAD,CAAN;MAAY;IAAE;;IAC9F,SAASF,IAAT,CAAcI,MAAd,EAAsB;MAAEA,MAAM,CAACC,IAAP,GAAcT,OAAO,CAACQ,MAAM,CAACT,KAAR,CAArB,GAAsCD,KAAK,CAACU,MAAM,CAACT,KAAR,CAAL,CAAoBW,IAApB,CAAyBP,SAAzB,EAAoCI,QAApC,CAAtC;IAAsF;;IAC9GH,IAAI,CAAC,CAACP,SAAS,GAAGA,SAAS,CAACc,KAAV,CAAgBjB,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyDU,IAAzD,EAAD,CAAJ;EACH,CALM,CAAP;AAMH,CARD;;AAqBO,IAAMO,aAAa,gBAAG,IAAAC,iBAAA,EAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;EACpD,IAAQC,GAAR,GAA6RF,KAA7R,CAAQE,GAAR;EAAA,IAAaC,QAAb,GAA6RH,KAA7R,CAAaG,QAAb;EAAA,IAAuBC,QAAvB,GAA6RJ,KAA7R,CAAuBI,QAAvB;EAAA,IAAiCC,UAAjC,GAA6RL,KAA7R,CAAiCK,UAAjC;EAAA,IAA6CC,UAA7C,GAA6RN,KAA7R,CAA6CM,UAA7C;EAAA,IAAyDC,UAAzD,GAA6RP,KAA7R,CAAyDO,UAAzD;EAAA,IAAqEC,UAArE,GAA6RR,KAA7R,CAAqEQ,UAArE;EAAA,IAAiFC,IAAjF,GAA6RT,KAA7R,CAAiFS,IAAjF;EAAA,IAAuFC,WAAvF,GAA6RV,KAA7R,CAAuFU,WAAvF;EAAA,mBAA6RV,KAA7R,CAAoGW,KAApG;EAAA,IAAoGA,KAApG,6BAA4G,MAA5G;EAAA,oBAA6RX,KAA7R,CAAoHY,MAApH;EAAA,IAAoHA,MAApH,8BAA6H,MAA7H;EAAA,IAAqIC,WAArI,GAA6Rb,KAA7R,CAAqIa,WAArI;EAAA,2BAA6Rb,KAA7R,CAAkJc,aAAlJ;EAAA,IAAkJA,aAAlJ,qCAAkK,CAAlK;EAAA,IAAqKC,SAArK,GAA6Rf,KAA7R,CAAqKe,SAArK;EAAA,IAAgLC,OAAhL,GAA6RhB,KAA7R,CAAgLgB,OAAhL;EAAA,IAAyLC,YAAzL,GAA6RjB,KAA7R,CAAyLiB,YAAzL;EAAA,IAAuMC,UAAvM,GAA6RlB,KAA7R,CAAuMkB,UAAvM;EAAA,sBAA6RlB,KAA7R,CAAmNmB,QAAnN;EAAA,IAAmNA,QAAnN,gCAA8N,KAA9N;EAAA,kBAA6RnB,KAA7R,CAAqOoB,IAArO;EAAA,IAAqOA,IAArO,4BAA4O,EAA5O;EAAA,IAAgPC,WAAhP,GAA6RrB,KAA7R,CAAgPqB,WAAhP;EAAA,4BAA6RrB,KAA7R,CAA6PsB,cAA7P;EAAA,IAA6PA,cAA7P,sCAA8QC,SAA9Q;EACA,IAAMC,IAAI,GAAG,IAAAC,aAAA,EAAO,IAAP,CAAb;EACA,IAAMC,SAAS,GAAG,IAAAC,kBAAA,EAAOX,OAAP,EAAgBY,IAAhB,CAAqB,IAAAD,kBAAA,EAAOZ,SAAP,CAArB,EAAwC,SAAxC,CAAlB;EACA,IAAMc,YAAY,GAAG,IAAAJ,aAAA,EAAO,IAAP,CAArB;EACA,IAAMK,OAAO,GAAG,IAAAL,aAAA,EAAO,IAAP,CAAhB;EACA,IAAMM,WAAW,GAAG,IAAAN,aAAA,EAAO,IAAP,CAApB;EACA,IAAMO,SAAS,GAAG,IAAAP,aAAA,GAAlB;;EACA,qBAA6C,IAAAQ,qBAAA,EAAcH,OAAd,CAA7C;EAAA;EAAA,IAAOI,YAAP;EAAA,IAAuBC,gBAAvB,sBAAuBA,gBAAvB;;EACA,mBAA0B,IAAAC,mBAAA,EAAY;IAClCC,IAAI,EAAE,KAD4B;IAElCC,KAAK,EAAE,KAF2B;IAGlCC,OAAO,EAAE,KAHyB;IAIlCC,EAAE,EAAE,mBAAmB,IAAAC,oBAAA,GAJW;IAKlCC,MAAM,EAAE,CAL0B;IAMlCC,WAAW,EAAE,EANqB;IAOlCC,QAAQ,EAAE,CAPwB;IAQlCC,SAAS,EAAE,CARuB;IASlCC,QAAQ,EAAE;MACNF,QAAQ,EAAE;IADJ,CATwB;IAYlCG,eAAe,EAAE,IAZiB;IAalCC,YAAY,EAAE;EAboB,CAAZ,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EAeA,IAAAC,0BAAA,EAAoBlD,GAApB,EAAyB,YAAM;IAC3B,OAAO;MACHmD,MAAM,EAAE,gBAACC,IAAD,EAAU;QACd,IAAMC,MAAM,GAAGtB,SAAS,CAACuB,OAAzB;;QACA,IAAID,MAAJ,EAAY;UACR,IAAMX,WAAW,GAAG,IAAAhB,kBAAA,EAAO0B,IAAP,EAAazB,IAAb,CAAkB,IAAAD,kBAAA,EAAOZ,SAAP,CAAlB,EAAqC,SAArC,CAApB;UACA,OAAOuC,MAAM,CAACF,MAAP,CAAcT,WAAd,CAAP;QACH,CAHD,MAIK;UACD,OAAOxD,OAAO,CAACC,MAAR,EAAP;QACH;MACJ;IAVE,CAAP;EAYH,CAbD;EAcA,IAAAoE,gBAAA,EAAU,YAAM;IACZ,IAAMC,SAAS,GAAG5B,YAAY,CAAC0B,OAA/B;;IACA,IAAI/B,IAAI,CAAC+B,OAAT,EAAkB;MACdG,aAAa,CAAClC,IAAI,CAAC+B,OAAN,CAAb;MACA/B,IAAI,CAAC+B,OAAL,GAAe,IAAf;IACH;;IACD,IAAI,CAACrD,GAAD,IAAQ,CAACuD,SAAb,EACI;IACJ,IAAIH,MAAM,GAAG,IAAb;;IACA,CAAC;MAAA,OAAM3E,SAAS,CAAC,KAAK,CAAN,EAAS,KAAK,CAAd,EAAiB,KAAK,CAAtB,0CAAyB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,MACjC8B,IAAI,KAAK,IADwB;kBAAA;kBAAA;gBAAA;;gBAAA;gBAEjC,OAAM,IAAItB,OAAJ,CAAY,UAACD,OAAD,EAAa;kBAC3ByE,UAAU,CAAC;oBAAA,OAAMzE,OAAO,CAAC,EAAD,CAAb;kBAAA,CAAD,EAAoB,IAApB,CAAV;gBACH,CAFK,CAAN;;cAFiC;gBAAA,MAOjCuB,IAAI,KAAK,QAPwB;kBAAA;kBAAA;gBAAA;;gBAAA;gBAQnB,OAAMmD,eAAA,CAAIC,QAAJ,CAAa;kBAC7B1D,QAAQ,EAARA;gBAD6B,CAAb,CAAN;;cARmB;gBAQ3B2D,KAR2B;gBAWjCC,YAAY,CAACC,OAAb,CAAqB,aAArB,EAAoCF,KAApC;;cAXiC;gBAAA;gBAa5B,OAAM,IAAIG,kBAAJ,CAAW;kBACtB/D,GAAG,EAAHA,GADsB;kBAEtBG,UAAU,EAAVA,UAFsB;kBAGtBD,QAAQ,EAARA,QAHsB;kBAItBE,UAAU,EAAVA,UAJsB;kBAKtBC,UAAU,EAAVA,UALsB;kBAMtBJ,QAAQ,EAARA,QANsB;kBAOtBK,UAAU,EAAVA,UAPsB;kBAQtBE,WAAW,EAAXA,WARsB;kBAStB+C,SAAS,EAATA,SATsB;kBAUtBS,IAAI,EAAE,KAVgB;kBAWtBnD,SAAS,EAATA,SAXsB;kBAYtBC,OAAO,EAAPA,OAZsB;kBAatBP,IAAI,EAAJA;gBAbsB,CAAX,CAAN;;cAb4B;gBAarC6C,MAbqC;gBA4BrCtB,SAAS,CAACuB,OAAV,GAAoBD,MAApB;gBA5BqC;gBA6BrC,OAAMJ,QAAQ,CAAC;kBACXX,OAAO,EAAE,IADE;kBAEXD,KAAK,EAAE,KAFI;kBAGXQ,QAAQ,EAAE;oBAAEF,QAAQ,EAAEU,MAAM,CAAC7C,IAAP,KAAgB,OAAhB,IAA2B6C,MAAM,CAAC7C,IAAP,KAAgB;kBAAvD,CAHC;kBAIXsC,eAAe,EAAEO,MAAM,CAAC7C,IAAP,KAAgB,IAJtB;kBAKXuC,YAAY,EAAEM,MAAM,CAAC7C,IAAP,KAAgB;gBALnB,CAAD,CAAd;;cA7BqC;gBAoCrC6C,MAAM,CACDa,QADL,GAEKvE,IAFL,CAEU,YAAM;kBACZsD,QAAQ,CAAC;oBACLb,IAAI,EAAE,IADD;oBAELM,WAAW,EAAE,IAAAhB,kBAAA,EAAOZ,SAAP,EAAkBqD,MAAlB,CAAyBC,iBAAA,CAAWC,MAApC;kBAFR,CAAD,CAAR;kBAIA,IAAIC,CAAC,GAAG,CAAR;kBACA/C,IAAI,CAAC+B,OAAL,GAAeiB,WAAW,CAAC,YAAM;oBAC7B;oBACA,IAAI,IAAA7C,kBAAA,EAAOZ,SAAP,EAAkB0D,GAAlB,CAAsBF,CAAtB,EAAyB,GAAzB,EAA8BG,IAA9B,MAAwC,IAAA/C,kBAAA,EAAOX,OAAP,EAAgB0D,IAAhB,EAA5C,EAAoE;sBAChEhB,aAAa,CAAClC,IAAI,CAAC+B,OAAN,CAAb;sBACA/B,IAAI,CAAC+B,OAAL,GAAe,IAAf;sBACAL,QAAQ,CAAC;wBACLP,WAAW,EAAE,EADR;wBAELC,QAAQ,EAAE;sBAFL,CAAD,CAAR;oBAIH,CAPD,MAQK;sBACD2B,CAAC;;sBACD,IAAI,CAACtB,KAAK,CAACV,OAAX,EAAoB;wBAChBW,QAAQ,CAAC;0BACLP,WAAW,EAAE,IAAAhB,kBAAA,EAAOZ,SAAP,EACR0D,GADQ,CACJF,CADI,EACD,GADC,EAERH,MAFQ,CAEDC,iBAAA,CAAWC,MAFV,CADR;0BAIL1B,QAAQ,EAAE+B,IAAI,CAACC,KAAL,CAAYL,CAAC,GAAG7C,SAAL,GAAkB,GAA7B;wBAJL,CAAD,CAAR;sBAMH;oBACJ;kBACJ,CArByB,EAqBvB,IArBuB,CAA1B;gBAsBH,CA9BD,WA+BW;kBAAA,OAAMwB,QAAQ,CAAC;oBAAEZ,KAAK,EAAE;kBAAT,CAAD,CAAd;gBAAA,CA/BX,aAgCa;kBAAA,OAAMY,QAAQ,CAAC;oBAAEX,OAAO,EAAE;kBAAX,CAAD,CAAd;gBAAA,CAhCb;gBAiCAe,MAAM,CAACuB,YAAP,CAAoB,UAACC,YAAD,EAAeC,KAAf,EAAyB;kBACzC,IAAI,CAAC9B,KAAK,CAACV,OAAX,EAAoB;oBAChBW,QAAQ,CAAC;sBACL;sBACA;sBACA6B,KAAK,EAALA;oBAHK,CAAD,CAAR;kBAKH;gBACJ,CARD;;cArEqC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAAzB,EAAf;IAAA,CAAD;;IA+EA,OAAO,YAAM;MACTzB,MAAM,CAAC0B,OAAP;MACA9B,QAAQ,CAAC;QAAEZ,KAAK,EAAE,KAAT;QAAgBC,OAAO,EAAE,KAAzB;QAAgCF,IAAI,EAAE;MAAtC,CAAD,CAAR;;MACA,IAAIb,IAAI,CAAC+B,OAAT,EAAkB;QACdG,aAAa,CAAClC,IAAI,CAAC+B,OAAN,CAAb;QACA/B,IAAI,CAAC+B,OAAL,GAAe,IAAf;MACH;IACJ,CAPD;EAQH,CAhGD,EAgGG,CAACrD,GAAD,EAAMa,SAAN,EAAiBC,OAAjB,CAhGH;EAiGA,IAAAwC,gBAAA,EAAU,YAAM;IACZ,IAAI,CAACP,KAAK,CAACV,OAAX,EAAoB;MAChBtB,YAAY,IACRA,YAAY,CAACgC,KAAK,CAACN,WAAN,GAAoB,IAAAhB,kBAAA,EAAOsB,KAAK,CAACN,WAAb,EAA0ByB,MAA1B,CAAiCC,iBAAA,CAAWC,MAA5C,CAApB,GAA0E,EAA3E,EAA+ErB,KAAK,CAAC8B,KAArF,CADhB;IAEH;EACJ,CALD,EAKG,CAAC9B,KAAK,CAACN,WAAP,EAAoBM,KAAK,CAAC8B,KAA1B,CALH;EAMA,IAAME,WAAW,GAAG,IAAAC,mBAAA,EAAYjC,KAAK,CAACJ,SAAlB,EAA6B;IAAEsC,IAAI,EAAE;EAAR,CAA7B,CAApB;EACA,IAAA3B,gBAAA,EAAU,YAAM;IACZ,IAAMb,WAAW,GAAGgC,IAAI,CAACC,KAAL,CAAYlD,SAAS,GAAGuD,WAAb,GAA4B,GAAvC,CAApB;IACA,IAAM3B,MAAM,GAAGtB,SAAS,CAACuB,OAAzB;IACAD,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACF,MAAP,CAAcT,WAAd,CAAhD;IACAO,QAAQ,CAAC;MACLN,QAAQ,EAAEqC;IADL,CAAD,CAAR;EAGH,CAPD,EAOG,CAACA,WAAD,CAPH;EAQA;;EACA,IAAMG,aAAa,GAAG,SAAhBA,aAAgB,CAAC5F,CAAD,EAAO;IACzB,IAAM8D,MAAM,GAAGtB,SAAS,CAACuB,OAAzB;IACAD,MAAM,IAAIA,MAAM,CAAC+B,OAAP,CAAexE,WAAf,EAA4BK,UAA5B,CAAV;IACA1B,CAAC,CAAC8F,eAAF;EACH,CAJD;EAKA;;;EACA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAC/F,CAAD,EAAO;IAC5B2C,gBAAgB;IAChB,IAAMmB,MAAM,GAAGtB,SAAS,CAACuB,OAAzB;IACAD,MAAM,IAAIA,MAAM,CAACkC,MAAP,EAAV;IACAhG,CAAC,CAAC8F,eAAF;EACH,CALD;EAMA;;;EACA,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACxG,KAAD,EAAW;IAC5B,IAAIuC,IAAI,CAAC+B,OAAT,EAAkB;MACdG,aAAa,CAAClC,IAAI,CAAC+B,OAAN,CAAb;MACA/B,IAAI,CAAC+B,OAAL,GAAe,IAAf;IACH;;IACD,IAAMZ,WAAW,GAAGgC,IAAI,CAACC,KAAL,CAAYlD,SAAS,GAAGzC,KAAb,GAAsB,GAAjC,CAApB;IACAiE,QAAQ,CAAC;MACLL,SAAS,EAAE5D,KADN;MAEL0D,WAAW,EAAE,IAAAhB,kBAAA,EAAOsB,KAAK,CAACN,WAAb,EACR8B,GADQ,CACJ9B,WADI,EACS,SADT,EAERyB,MAFQ,CAEDC,iBAAA,CAAWC,MAFV;IAFR,CAAD,CAAR;IAMA,IAAIC,CAAC,GAAG,CAAR;IACA/C,IAAI,CAAC+B,OAAL,GAAeiB,WAAW,CAAC,YAAM;MAC7B,IAAI,IAAA7C,kBAAA,EAAOZ,SAAP,EAAkB2D,IAAlB,KAA2BH,CAA3B,GAA+B5B,WAA/B,IAA8C,IAAAhB,kBAAA,EAAOX,OAAP,EAAgB0D,IAAhB,EAAlD,EAA0E;QACtEhB,aAAa,CAAClC,IAAI,CAAC+B,OAAN,CAAb;QACA/B,IAAI,CAAC+B,OAAL,GAAe,IAAf;QACAL,QAAQ,CAAC;UACLP,WAAW,EAAE,EADR;UAELC,QAAQ,EAAE;QAFL,CAAD,CAAR;MAIH,CAPD,MAQK,IAAI,CAACK,KAAK,CAACV,OAAX,EAAoB;QACrBW,QAAQ,CAAC;UACLP,WAAW,EAAE,IAAAhB,kBAAA,EAAOZ,SAAP,EACR0D,GADQ,CACJF,CAAC,GAAG5B,WADA,EACa,GADb,EAERyB,MAFQ,CAEDC,iBAAA,CAAWC,MAFV,CADR;UAIL1B,QAAQ,EAAE+B,IAAI,CAACC,KAAL,CAAY,CAACL,CAAC,GAAG5B,WAAL,IAAoBjB,SAArB,GAAkC,GAA7C;QAJL,CAAD,CAAR;QAMA6C,CAAC;MACJ;IACJ,CAlByB,EAkBvB,IAlBuB,CAA1B;EAmBH,CAhCD;EAiCA;;;EACA,IAAMmB,WAAW,GAAG,SAAdA,WAAc,GAAM;IACtB,IAAMpC,MAAM,GAAGtB,SAAS,CAACuB,OAAzB;IACAD,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACqC,KAAP,CAAa,YAAM;MAC/DzC,QAAQ,CAAC;QAAEb,IAAI,EAAE;MAAR,CAAD,CAAR;IACH,CAF+C,CAAhD;;IAGA,IAAIb,IAAI,CAAC+B,OAAT,EAAkB;MACdG,aAAa,CAAClC,IAAI,CAAC+B,OAAN,CAAb;MACA/B,IAAI,CAAC+B,OAAL,GAAe,IAAf;IACH;EACJ,CATD;EAUA;;;EACA,IAAMqC,YAAY,GAAG,SAAfA,YAAe,GAAM;IACvB,IAAMtC,MAAM,GAAGtB,SAAS,CAACuB,OAAzB;IACAD,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACuC,MAAP,CAAc,YAAM;MAChE3C,QAAQ,CAAC;QAAEb,IAAI,EAAE;MAAR,CAAD,CAAR;IACH,CAF+C,CAAhD;;IAGA,IAAIb,IAAI,CAAC+B,OAAT,EAAkB;MACdG,aAAa,CAAClC,IAAI,CAAC+B,OAAN,CAAb;MACA/B,IAAI,CAAC+B,OAAL,GAAe,IAAf;IACH;;IACD,IAAIgB,CAAC,GAAG,CAAR;IACA/C,IAAI,CAAC+B,OAAL,GAAeiB,WAAW,CAAC,YAAM;MAC7B,IAAI,IAAA7C,kBAAA,EAAOsB,KAAK,CAACN,WAAb,EAA0B+B,IAA1B,KAAmCH,CAAnC,IAAwC,IAAA5C,kBAAA,EAAOX,OAAP,EAAgB0D,IAAhB,EAA5C,EAAoE;QAChEhB,aAAa,CAAClC,IAAI,CAAC+B,OAAN,CAAb;QACA/B,IAAI,CAAC+B,OAAL,GAAe,IAAf;QACAL,QAAQ,CAAC;UACLP,WAAW,EAAE,EADR;UAELC,QAAQ,EAAE;QAFL,CAAD,CAAR;MAIH;;MACD,IAAI,CAACK,KAAK,CAACV,OAAX,EAAoB;QAChBW,QAAQ,CAAC;UACLP,WAAW,EAAE,IAAAhB,kBAAA,EAAOsB,KAAK,CAACN,WAAb,EAA0B8B,GAA1B,CAA8BF,CAA9B,EAAiC,GAAjC,EAAsCH,MAAtC,CAA6CC,iBAAA,CAAWC,MAAxD,CADR;UAEL1B,QAAQ,EAAE+B,IAAI,CAACC,KAAL,CAAY,CAACL,CAAC,GAAG,IAAA5C,kBAAA,EAAOsB,KAAK,CAACN,WAAb,EAA0B+B,IAA1B,EAAL,IAAyChD,SAA1C,GAAuD,GAAlE;QAFL,CAAD,CAAR;QAIA6C,CAAC;MACJ;IACJ,CAhByB,EAgBvB,IAhBuB,CAA1B;EAiBH,CA3BD;;EA4BA,OAAQ,IAAAuB,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;IAAEC,SAAS,EAAE,oBAAb;IAAmChG,GAAG,EAAE6B,OAAxC;IAAiDoE,KAAK,EAAE;MAAEvF,KAAK,EAALA,KAAF;MAASC,MAAM,EAANA;IAAT;EAAxD,CAAd,EAA2F;IAAEuF,QAAQ,EAAE,CAAC,IAAAC,eAAA,EAAK,KAAL,EAAY;MAAEnG,GAAG,EAAE4B,YAAP;MAAqBqE,KAAK,EAAE;QAAEtF,MAAM,EAAE,MAAV;QAAkBD,KAAK,EAAE;MAAzB,CAA5B;MAA+D6B,EAAE,EAAES,KAAK,CAACT;IAAzE,CAAZ,CAAD,EAA6FS,KAAK,CAACV,OAAN,IAAiB,IAAA6D,eAAA,EAAKC,sBAAL,EAAmB,EAAnB,CAA9G,EAAsI,IAAAD,eAAA,EAAKE,mBAAL,EAAgB;MAAEnF,QAAQ,EAAEA,QAAZ;MAAsBC,IAAI,EAAEA;IAA5B,CAAhB,CAAtI,EAA2L,IAAA0E,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;MAAEC,SAAS,EAAE,UAAb;MAAyBhG,GAAG,EAAE8B,WAA9B;MAA2CmE,KAAK,EAAE;QAAEK,MAAM,EAAEzF,aAAV;QAAyB0F,OAAO,EAAElF,cAAc,GAAG,CAAH,GAAOC;MAAvD;IAAlD,CAAd,EAAsI;MAAE4E,QAAQ,EAAE,CAAClD,KAAK,CAACZ,IAAN,GAAc,IAAA+D,eAAA,EAAKK,gBAAL,EAAgB;QAAEC,OAAO,EAAEhB;MAAX,CAAhB,CAAd,GAA4D,IAAAU,eAAA,EAAKO,eAAL,EAAe;QAAED,OAAO,EAAEd;MAAX,CAAf,CAA7D,EAAyG3C,KAAK,CAACF,eAAN,IAA0B,IAAA+C,gBAAA,EAAMc,oBAAN,EAAiB;QAAET,QAAQ,EAAE,CAAC,IAAAL,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;UAAEC,SAAS,EAAE;QAAb,CAAd,EAAqC;UAAEE,QAAQ,EAAE,CAAC,IAAAC,eAAA,EAAK,MAAL,EAAaL,MAAM,CAACC,MAAP,CAAc;YAAEC,SAAS,EAAE;UAAb,CAAd,EAAwC;YAAEE,QAAQ,EAAElD,KAAK,CAACN,WAAN,GAC7sB,IAAAhB,kBAAA,EAAOsB,KAAK,CAACN,WAAb,EAA0ByB,MAA1B,CAAiC,UAAjC,CAD6sB,GAE7sB;UAFisB,CAAxC,CAAb,CAAD,EAEloB,IAAA0B,gBAAA,EAAM,MAAN,EAAcC,MAAM,CAACC,MAAP,CAAc;YAAEC,SAAS,EAAE;UAAb,CAAd,EAAsC;YAAEE,QAAQ,EAAE,CAAC,GAAD,EAAM,IAAAxE,kBAAA,EAAOX,OAAP,EAAgBoD,MAAhB,CAAuB,UAAvB,CAAN;UAAZ,CAAtC,CAAd,CAFkoB;QAAZ,CAArC,CAAb,CAAD,EAE/c,IAAAgC,eAAA,EAAK,KAAL,EAAYL,MAAM,CAACC,MAAP,CAAc;UAAEC,SAAS,EAAE;QAAb,CAAd,EAAuC;UAAEE,QAAQ,EAAE,IAAAC,eAAA,EAAKS,kBAAL,EAAa;YAAEC,QAAQ,EAAE,CAAC7D,KAAK,CAACH,QAAN,CAAeF,QAA5B;YAAsCmE,YAAY,EAAE,IAApD;YAA0DC,QAAQ,EAAEvB,YAApE;YAAkFxG,KAAK,EAAEgE,KAAK,CAACL;UAA/F,CAAb;QAAZ,CAAvC,CAAZ,CAF+c;MAAZ,CAAjB,CAAnI,EAE9G,IAAAkD,gBAAA,EAAMmB,iBAAN,EAAalB,MAAM,CAACC,MAAP,CAAc;QAAEC,SAAS,EAAE,OAAb;QAAsBiB,IAAI,EAAE,EAA5B;QAAgCC,KAAK,EAAE;MAAvC,CAAd,EAAiE;QAAEhB,QAAQ,EAAE,CAAC,IAAAC,eAAA,EAAKgB,uBAAL,EAAoB;UAAE9D,MAAM,EAAEtB,SAAS,CAACuB,OAApB;UAA6B8D,YAAY,EAAE,CAA3C;UAA8C5D,SAAS,EAAE1B,WAAW,CAACwB;QAArE,CAApB,CAAD,EAAsGN,KAAK,CAACD,YAAN,IAAuB,IAAAoD,eAAA,EAAKkB,sBAAL,EAAmB;UAAEhE,MAAM,EAAEtB,SAAS,CAACuB,OAApB;UAA6BE,SAAS,EAAE1B,WAAW,CAACwB;QAApD,CAAnB,CAA7H,EAAiN,CAAC,CAACrC,UAAF,IAAgB,IAAAkF,eAAA,EAAKmB,kBAAL,EAAkB;UAAEb,OAAO,EAAEtB;QAAX,CAAlB,CAAjO,EAAgR/D,WAAW,GAAGA,WAAH,GAAiB,IAA5S,EAAkTa,YAAY,GAAI,IAAAkE,eAAA,EAAKoB,yBAAL,EAAyB;UAAEd,OAAO,EAAEnB;QAAX,CAAzB,CAAJ,GAAgE,IAAAa,eAAA,EAAKqB,qBAAL,EAAqB;UAAEf,OAAO,EAAEnB;QAAX,CAArB,CAA9X;MAAZ,CAAjE,CAAb,CAF8G;IAAZ,CAAtI,CAAb,CAA3L;EAAZ,CAA3F,CAAb,CAAR;AAGH,CAhP4B,CAAtB;;AAiPPzF,aAAa,CAAC4H,WAAd,GAA4B,eAA5B;eACe5H,a"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export default PlayerManager;
|
|
2
|
+
declare class PlayerManager {
|
|
3
|
+
constructor(opt: any);
|
|
4
|
+
el: any;
|
|
5
|
+
url: any;
|
|
6
|
+
realPlayer: any;
|
|
7
|
+
recordPlayer: any;
|
|
8
|
+
player: any;
|
|
9
|
+
type: any;
|
|
10
|
+
playNum: number;
|
|
11
|
+
playIndex: number;
|
|
12
|
+
dp: any;
|
|
13
|
+
initPlayer(): void;
|
|
14
|
+
/**
|
|
15
|
+
* 播放实时预览视频
|
|
16
|
+
* @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2
|
|
17
|
+
* @param opt.selectIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放
|
|
18
|
+
*/
|
|
19
|
+
playRealVideo(): void;
|
|
20
|
+
/**
|
|
21
|
+
* 播放录像回放
|
|
22
|
+
* @param opt.channelList {Array<Object>} 通道集合 必填
|
|
23
|
+
* @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒
|
|
24
|
+
* @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒
|
|
25
|
+
* @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像
|
|
26
|
+
* @param opt.streamType {String|Number} 码流类型 可选
|
|
27
|
+
* @param opt.recordType {String|Number} 录像类型 可选
|
|
28
|
+
*/
|
|
29
|
+
playRecordVideo(opt: any): void;
|
|
30
|
+
setVideoFrame(viewSize: any): void;
|
|
31
|
+
stopVideo(index: any): void;
|
|
32
|
+
/**
|
|
33
|
+
* 录像暂停
|
|
34
|
+
* 只有正在播放的录像调用才有效
|
|
35
|
+
*/
|
|
36
|
+
pause(): void;
|
|
37
|
+
/**
|
|
38
|
+
* 录像暂停后播放
|
|
39
|
+
* 只有暂停后的录像调用才有效
|
|
40
|
+
*/
|
|
41
|
+
play(): void;
|
|
42
|
+
/**
|
|
43
|
+
* 倍速播放
|
|
44
|
+
* @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率
|
|
45
|
+
*/
|
|
46
|
+
playSpeed(speed: number): void;
|
|
47
|
+
/**
|
|
48
|
+
* 关闭播放器
|
|
49
|
+
* @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器
|
|
50
|
+
*/
|
|
51
|
+
close(index: number): void;
|
|
52
|
+
resize(): void;
|
|
53
|
+
/**
|
|
54
|
+
* 设置全屏
|
|
55
|
+
*/
|
|
56
|
+
setFullScreen(): void;
|
|
57
|
+
/**
|
|
58
|
+
* 设置窗口自适应还是拉伸
|
|
59
|
+
* @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸
|
|
60
|
+
*/
|
|
61
|
+
setPlayerAdapter(playerAdapter: string): void;
|
|
62
|
+
/**
|
|
63
|
+
* 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数
|
|
64
|
+
* @param {number} number
|
|
65
|
+
*/
|
|
66
|
+
setPlayerNum(number: number): void;
|
|
67
|
+
/**
|
|
68
|
+
* 设置选中的播放器的索引
|
|
69
|
+
* @param {number} index
|
|
70
|
+
*/
|
|
71
|
+
setSelectIndex(index: number): void;
|
|
72
|
+
/**
|
|
73
|
+
* 录像跳转播放
|
|
74
|
+
* @param {number} time HH:mm:ss格式
|
|
75
|
+
*/
|
|
76
|
+
jumpPlayByTime(time: number): void;
|
|
77
|
+
__receiveMessageFromWSPlayer(method: any, data: any): void;
|
|
78
|
+
currentChannelId: any;
|
|
79
|
+
}
|