@vtx/player 1.7.19 → 1.7.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/lib/api/fetch.js +5 -33
  2. package/lib/api/fetch.js.map +1 -1
  3. package/lib/api/index.js +5 -49
  4. package/lib/api/index.js.map +1 -1
  5. package/lib/api/types.js.map +1 -1
  6. package/lib/bd/PlayerManager.js +34 -67
  7. package/lib/bd/PlayerManager.js.map +1 -1
  8. package/lib/bill-player/index.js +64 -119
  9. package/lib/bill-player/index.js.map +1 -1
  10. package/lib/bill-player/style/css.js +0 -9
  11. package/lib/bill-player/style/css.js.map +1 -1
  12. package/lib/bill-player/style/index.js +0 -9
  13. package/lib/bill-player/style/index.js.map +1 -1
  14. package/lib/components/set-tag-video/index.js +4 -32
  15. package/lib/components/set-tag-video/index.js.map +1 -1
  16. package/lib/components/set-tag-video/style/css.js.map +1 -1
  17. package/lib/components/set-tag-video/style/index.js.map +1 -1
  18. package/lib/components/split-screen/index.js +3 -14
  19. package/lib/components/split-screen/index.js.map +1 -1
  20. package/lib/components/split-screen/style/css.js.map +1 -1
  21. package/lib/components/split-screen/style/index.js.map +1 -1
  22. package/lib/components/tag-video/index.js +10 -38
  23. package/lib/components/tag-video/index.js.map +1 -1
  24. package/lib/components/tag-video/style/css.js.map +1 -1
  25. package/lib/components/tag-video/style/index.js.map +1 -1
  26. package/lib/components/video-scale/index.js +2 -9
  27. package/lib/components/video-scale/index.js.map +1 -1
  28. package/lib/components/video-scale/style/css.js.map +1 -1
  29. package/lib/components/video-scale/style/index.js.map +1 -1
  30. package/lib/context/index.js +0 -4
  31. package/lib/context/index.js.map +1 -1
  32. package/lib/controls/index.js +34 -99
  33. package/lib/controls/index.js.map +1 -1
  34. package/lib/controls/style/css.js +0 -5
  35. package/lib/controls/style/css.js.map +1 -1
  36. package/lib/controls/style/index.js +0 -5
  37. package/lib/controls/style/index.js.map +1 -1
  38. package/lib/h264/PlayerManager.js +14 -26
  39. package/lib/h264/PlayerManager.js.map +1 -1
  40. package/lib/history-control/index.js +63 -122
  41. package/lib/history-control/index.js.map +1 -1
  42. package/lib/history-control/style/css.js +0 -6
  43. package/lib/history-control/style/css.js.map +1 -1
  44. package/lib/history-control/style/index.js +0 -6
  45. package/lib/history-control/style/index.js.map +1 -1
  46. package/lib/history-control-v2/components/grid-item/index.js +36 -75
  47. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  48. package/lib/history-control-v2/components/panel/index.js +47 -117
  49. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  50. package/lib/history-control-v2/context.js +0 -2
  51. package/lib/history-control-v2/context.js.map +1 -1
  52. package/lib/history-control-v2/index.js +46 -113
  53. package/lib/history-control-v2/index.js.map +1 -1
  54. package/lib/history-control-v2/style/css.js +0 -10
  55. package/lib/history-control-v2/style/css.js.map +1 -1
  56. package/lib/history-control-v2/style/index.js +0 -10
  57. package/lib/history-control-v2/style/index.js.map +1 -1
  58. package/lib/history-control-v2/utils.js +0 -20
  59. package/lib/history-control-v2/utils.js.map +1 -1
  60. package/lib/history-player/index.js +51 -109
  61. package/lib/history-player/index.js.map +1 -1
  62. package/lib/history-player/style/css.js +0 -3
  63. package/lib/history-player/style/css.js.map +1 -1
  64. package/lib/history-player/style/index.js +0 -3
  65. package/lib/history-player/style/index.js.map +1 -1
  66. package/lib/hooks/useSettings.js +1 -6
  67. package/lib/hooks/useSettings.js.map +1 -1
  68. package/lib/icc/PlayerManager.js +21 -58
  69. package/lib/icc/PlayerManager.js.map +1 -1
  70. package/lib/icc/api.js +2 -16
  71. package/lib/icc/api.js.map +1 -1
  72. package/lib/icons/index.js +23 -171
  73. package/lib/icons/index.js.map +1 -1
  74. package/lib/index.js +0 -10
  75. package/lib/index.js.map +1 -1
  76. package/lib/live-channel-player/index.js +16 -51
  77. package/lib/live-channel-player/index.js.map +1 -1
  78. package/lib/live-channel-player/style/css.js +0 -1
  79. package/lib/live-channel-player/style/css.js.map +1 -1
  80. package/lib/live-channel-player/style/index.js +0 -1
  81. package/lib/live-channel-player/style/index.js.map +1 -1
  82. package/lib/live-control/index.js +33 -84
  83. package/lib/live-control/index.js.map +1 -1
  84. package/lib/live-control/style/css.js +0 -4
  85. package/lib/live-control/style/css.js.map +1 -1
  86. package/lib/live-control/style/index.js +0 -4
  87. package/lib/live-control/style/index.js.map +1 -1
  88. package/lib/live-control-v2/index.js +68 -154
  89. package/lib/live-control-v2/index.js.map +1 -1
  90. package/lib/live-control-v2/style/css.js +0 -7
  91. package/lib/live-control-v2/style/css.js.map +1 -1
  92. package/lib/live-control-v2/style/index.js +0 -7
  93. package/lib/live-control-v2/style/index.js.map +1 -1
  94. package/lib/live-player/index.js +45 -85
  95. package/lib/live-player/index.js.map +1 -1
  96. package/lib/live-player/style/css.js +0 -2
  97. package/lib/live-player/style/css.js.map +1 -1
  98. package/lib/live-player/style/index.js +0 -2
  99. package/lib/live-player/style/index.js.map +1 -1
  100. package/lib/player/index.js +38 -206
  101. package/lib/player/index.js.map +1 -1
  102. package/lib/player/style/css.js.map +1 -1
  103. package/lib/player/style/index.js.map +1 -1
  104. package/lib/rsl/PlayerManager.js +14 -63
  105. package/lib/rsl/PlayerManager.js.map +1 -1
  106. package/lib/utils/index.d.ts +0 -7
  107. package/lib/utils/index.js +12 -112
  108. package/lib/utils/index.js.map +1 -1
  109. package/lib/vtxHls/PlayerManager.js +2 -19
  110. package/lib/vtxHls/PlayerManager.js.map +1 -1
  111. package/lib/vtxHls/WhepManager.js +4 -70
  112. package/lib/vtxHls/WhepManager.js.map +1 -1
  113. package/lib/webrtc/PlayerManager.js +24 -40
  114. package/lib/webrtc/PlayerManager.js.map +1 -1
  115. package/package.json +3 -2
@@ -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","Player","params","_a","_b","_c","_d","_e","player","preSpeed","containerId","windowIndex","url","channelNum","deviceCode","enableAgent","container","live","type","startTime","endTime","streamType","deviceIp","devicePort","id","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","replace","window","location","host","attachMediaElement","load","Hls","loadSource","attachMedia","dd","getElementById","hasChildNodes","removeChild","firstChild","VtxHlsPlayerManager","autoplay","WHEPClient","JSPlugin","szId","szBasePath","iMaxSplit","iCurrentSplit","wrapDiv","getElementsByTagName","preload","startsWith","JSPluginHkCar","iWidth","clientWidth","iHeight","clientHeight","oStyle","border","borderSelect","background","$container","Jessibuca","videoBuffer","isResize","isFlv","decoder","useMSE","debug","hasAudio","useWCS","autoWasm","isNotMute","PlayerManager","ip","protocol","el","maxNum","num","children","length","Date","now","WebrtcPlayerManager","H264PlayerManager","BDPlayerManager","src","iframe","width","height","frameBorder","canvas","style","RslPlayer","canvasId","callback","code","message","console","log","play","JS_Play","playURL","mode","JS_SetWindowControlCallback","pluginErrorHandler","index","iErrorCode","playRealVideo","channelList","isOnline","Number","getHKTimeString","seekTime","moment","playRecordVideo","format","recordSource","destroy","remove","JS_Stop","childNodes","JS_DestroyWorker","close","captureName","time","name","JS_CapturePicture","res","DPlayer","dp","querySelector","toBlob","blob","URL","createObjectURL","fileBlob","screenshot","Capture","setTimeout","JS_Resize","setPlayerAdapter","volume","iCurrentSoundWnd","JS_OpenSound","JS_SetVolume","ttxplayer","enableAudio","openAudio","setVolume","speed","JS_Slow","JS_Fast","playSpeed","playbackRate","addEventListener","currentTime","diff","call","StreamEnd","add","JS_Seek","jumpPlayByTime","JS_Pause","pause","JS_Resume","JS_StartTalk","JS_StopTalk","videoWidth","videoHeight","context","getContext","drawImage","dataURL"],"sources":["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 BDPlayerManager from '../bd/PlayerManager';\nimport H264PlayerManager from '../h264/PlayerManager';\nimport PlayerManager from '../icc/PlayerManager';\nimport RslPlayer from '../rsl/PlayerManager';\nimport { getHKTimeString, getPlayerParams } from '../utils';\nimport VtxHlsPlayerManager from '../vtxHls/PlayerManager';\nimport WHEPClient from '../vtxHls/WhepManager';\nimport WebrtcPlayerManager from '../webrtc/PlayerManager';\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n var _a, _b, _c, _d, _e;\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n this.containerId = '';\n // 海康窗口下标\n this.windowIndex = 0;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, channelNum, deviceCode, enableAgent = false, container, live = true, type, startTime, endTime, streamType, deviceIp, devicePort, } = params;\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.channelNum = channelNum;\n this.deviceCode = deviceCode || '';\n this.streamType = streamType || '0'; // 默认主码流\n this.enableAgent = enableAgent;\n this.startTime = startTime;\n this.endTime = endTime;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n if (this.type === 'flv' && FlvJs.isSupported() && video) {\n container.appendChild(video);\n this.player = FlvJs.createPlayer({\n type: 'flv',\n isLive: false,\n url: this.url.replace(\"SZGJ_HTTPS\", `${window.location.host}`),\n });\n this.player.attachMediaElement(this.video);\n this.player.load();\n }\n // 处理hls格式视频\n if (this.type === 'hls' && Hls.isSupported() && video) {\n container.appendChild(video);\n this.player = new Hls();\n this.player.loadSource(this.url);\n this.player.attachMedia(this.video);\n }\n if (this.type === 'vtxhls' && Hls.isSupported() && video) {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n container.appendChild(video);\n this.player = new VtxHlsPlayerManager({\n url: this.url,\n video: video,\n });\n }\n if (this.type === 'vtxwhep' && video) {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n this.video.autoplay = true;\n container.appendChild(this.video);\n this.player = new WHEPClient({\n url: this.url,\n video: this.video,\n });\n }\n // 处理海康视频\n if (this.type === 'hk_ws') {\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: './resources/',\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const wrapDiv = document.getElementById(container.id);\n this.video = wrapDiv.getElementsByTagName('video')[0];\n this.video.preload = 'auto';\n }\n // 处理海康视频\n if (this.type === 'hkcar_ws' && (url.startsWith('ws://') || url.startsWith('wss://'))) {\n const wrapDiv = document.getElementById(container.id);\n this.player = new window.JSPluginHkCar({\n szId: container.id,\n iWidth: wrapDiv.clientWidth,\n iHeight: wrapDiv.clientHeight,\n iMaxSplit: 1,\n iCurrentSplit: 1,\n szBasePath: './resources/hkcar/',\n oStyle: {\n border: 'transparent',\n borderSelect: 'transparent',\n background: '#2b3d51',\n },\n });\n }\n // 处理ws视频\n if (this.type === 'vtx_ws') {\n const $container = document.getElementById(container.id);\n this.player = new window.Jessibuca({\n container: $container,\n videoBuffer: 0.2,\n isResize: false,\n isFlv: true,\n decoder: './resources/jessibuca/decoder.js',\n useMSE: true,\n debug: false,\n hasAudio: false,\n useWCS: false,\n autoWasm: true,\n isNotMute: true, //是否开启声音\n });\n }\n if (this.type === 'icc_ws') {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n this.player = new PlayerManager({\n ip: window.location.protocol === 'http:'\n ? deviceIp\n : `${deviceIp || ''}:${devicePort || ''}`,\n el: container.id,\n type: live ? 'real' : 'record',\n maxNum: 1,\n num: 1,\n });\n }\n if (this.type === 'webrtc') {\n const dd = document.getElementById(container.id);\n ((_a = dd === null || dd === void 0 ? void 0 : dd.children) === null || _a === void 0 ? void 0 : _a.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = `${container.id}_${Date.now()}`;\n video.id = id;\n container.appendChild(video);\n this.player = new WebrtcPlayerManager({\n el: id,\n url: this.url,\n type: live,\n });\n }\n if (this.type === 'h264') {\n const dd = document.getElementById(container.id);\n ((_b = dd === null || dd === void 0 ? void 0 : dd.children) === null || _b === void 0 ? void 0 : _b.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = 'playerh264';\n video.id = id;\n container.appendChild(video);\n this.player = new H264PlayerManager({ id: id, url: this.url });\n }\n if (this.type === 'bd') {\n this.player = new BDPlayerManager({\n el: container.id,\n type: live,\n url: this.url,\n });\n }\n if (this.type === 'mp4') {\n const dd = document.getElementById(container.id);\n ((_c = dd === null || dd === void 0 ? void 0 : dd.children) === null || _c === void 0 ? void 0 : _c.length) > 0 && dd.removeChild(dd.firstChild);\n this.video.src = this.url;\n this.video.autoplay = true;\n const id = 'mp4';\n this.video.id = id;\n container.appendChild(this.video);\n }\n if (this.type === 'iframe') {\n const dd = document.getElementById(container.id);\n ((_d = dd === null || dd === void 0 ? void 0 : dd.children) === null || _d === void 0 ? void 0 : _d.length) > 0 && dd.removeChild(dd.firstChild);\n const iframe = document.createElement('iframe');\n iframe.width = '100%';\n iframe.height = '100%';\n iframe.frameBorder = '0';\n iframe.src = this.url;\n container.appendChild(iframe);\n }\n if (this.type === 'rsl') {\n const dd = document.getElementById(container.id);\n ((_e = dd === null || dd === void 0 ? void 0 : dd.children) === null || _e === void 0 ? void 0 : _e.length) > 0 && dd.removeChild(dd.firstChild);\n const canvas = document.createElement('canvas');\n canvas.id = 'myCanvas';\n canvas.style.width = '100%';\n canvas.style.height = '100%';\n container.appendChild(canvas);\n this.player = new RslPlayer({\n url: this.url,\n canvasId: 'myCanvas',\n callback: function (code, message) {\n console.log(code, message);\n },\n });\n }\n }\n /** 播放 */\n play() {\n if (this.type === 'flv') {\n const player = this.player;\n return player.play();\n }\n if (this.type === 'hls') {\n return this.video.play();\n }\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n let result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0);\n this.windowIndex = 0;\n const url = this.url;\n player.JS_SetWindowControlCallback({\n pluginErrorHandler: function (index, iErrorCode) {\n //插件错误回调\n // 流中断\n if (iErrorCode === '0x12f910011') {\n const playerParams = getPlayerParams(this.type, url, this.enableAgent, true);\n result = player.JS_Play(playerParams.url, { playURL: playerParams.url, mode: 1 }, index);\n }\n },\n // firstFrameDisplay: (index: number, width: number, height: number) => {\n // console.log(index, width, height, 'firstFrameDisplay');\n // },\n });\n return result;\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.playRealVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n isOnline: true,\n },\n ],\n streamType: Number(this.streamType) + 1,\n });\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.play();\n }\n if (this.type === 'bd') {\n const player = this.player;\n player.playRealVideo();\n }\n if (this.type === 'mp4') {\n //\n }\n if (this.type === 'vtx_ws') {\n const player = this.player;\n player.play(this.url);\n }\n if (this.type === 'rsl') {\n const player = this.player;\n player.play();\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n this.seekTime = moment(this.startTime);\n this.windowIndex = 0;\n return result;\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n return new Promise((resolve) => {\n player.playRecordVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n },\n ],\n startTime: moment(this.startTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n endTime: moment(this.endTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n recordSource: '2',\n streamType: this.streamType,\n });\n resolve(true);\n });\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n var _a, _b, _c;\n if (this.type === 'flv') {\n const player = this.player;\n player === null || player === void 0 ? void 0 : player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player && player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'vtxhls' || this.type === 'vtxwhep') {\n this.video.remove();\n this.player = null;\n const dd = document.getElementById(this.containerId);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player &&\n player.JS_Stop(0).then(() => {\n this.player = null;\n });\n const dd = document.getElementById(this.containerId);\n dd && dd.childNodes && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_DestroyWorker();\n const dd = document.getElementById(this.containerId);\n (dd === null || dd === void 0 ? void 0 : dd.childNodes) && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'h264') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'bd') {\n const player = this.player;\n player.close(0);\n }\n if (this.type === 'mp4') {\n this.video = null;\n const dd = document.getElementById(this.containerId);\n ((_a = dd === null || dd === void 0 ? void 0 : dd.children) === null || _a === void 0 ? void 0 : _a.length) > 0 && dd.removeChild(dd.firstChild);\n }\n if (this.type === 'vtx_ws') {\n const player = this.player;\n player.destroy();\n }\n if (this.type === 'iframe') {\n const dd = document.getElementById(this.containerId);\n ((_b = dd === null || dd === void 0 ? void 0 : dd.children) === null || _b === void 0 ? void 0 : _b.length) > 0 && dd.removeChild(dd.firstChild);\n }\n if (this.type === 'rsl') {\n const player = this.player;\n player.destroy();\n const dd = document.getElementById(this.containerId);\n ((_c = dd === null || dd === void 0 ? void 0 : dd.children) === null || _c === void 0 ? void 0 : _c.length) > 0 && dd.removeChild(dd.firstChild);\n }\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback && callback(res);\n });\n }\n else if (this.type === 'bd') {\n const DPlayer = this.player.dp;\n const canvas = DPlayer.container.querySelector('canvas');\n if (canvas) {\n canvas.toBlob((blob) => {\n if (blob) {\n callback === null || callback === void 0 ? void 0 : callback(URL.createObjectURL(blob));\n }\n });\n }\n }\n else if (this.type === 'vtx_ws') {\n const player = this.player;\n if (player) {\n const fileBlob = player.screenshot(captureName, 'blob');\n callback && callback(URL.createObjectURL(fileBlob));\n }\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n setTimeout(() => {\n player.JS_Resize();\n }, 500);\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n player.setPlayerAdapter('selfAdaption');\n }\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n if (this.type === 'flv') {\n const player = this.player;\n player.volume = value / 100;\n }\n if (this.type === 'hls') {\n this.video.volume = value / 100;\n }\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (player.iCurrentSoundWnd !== this.windowIndex) {\n player.JS_OpenSound(this.windowIndex);\n }\n player.JS_SetVolume(this.windowIndex, value);\n }\n if (this.type === 'bd') {\n const player = this.player.dp;\n if (!player.ttxplayer.enableAudio)\n player.ttxplayer.openAudio();\n player.ttxplayer.setVolume(value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (this.preSpeed / speed === 2) {\n player.JS_Slow(1);\n }\n if (this.preSpeed / speed === 4) {\n player.JS_Slow(1).then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 8) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 16) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (speed / this.preSpeed === 2) {\n player.JS_Fast(1);\n }\n if (speed / this.preSpeed === 4) {\n player.JS_Fast(1).then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 8) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 16) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n this.preSpeed = speed;\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n player.playSpeed(speed);\n }\n else if (this.type === 'bd') {\n // todo\n }\n else {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n var _a;\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if ((this.type === 'hk_ws' || this.type === 'hkcar_ws') && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' || this.type === 'hkcar_ws'\n ? this.preSpeed\n : this.video.playbackRate);\n });\n // 增加hw_ws 流播放结束回调\n const player = this.player;\n (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {\n StreamEnd: () => {\n callback(moment(this.endTime).diff(this.startTime, 'seconds'), this.preSpeed);\n },\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n this.seekTime = seekTime;\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n const seekTime = (_b = moment(this.startTime)) === null || _b === void 0 ? void 0 : _b.add(time, 'seconds').format('HH:mm:ss');\n player.jumpPlayByTime(seekTime);\n }\n else if (this.type === 'bd') {\n // const seekTime = moment(this.startTime)?.add(time, 'seconds').format('HH:mm:ss');\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 this.player = new BDPlayerManager({\n el: this.containerId,\n type: false,\n url: url,\n });\n this.player.playRealVideo();\n }\n else {\n this.video.currentTime = time;\n }\n return Promise.resolve();\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\n }\n else if (this.type === 'bd') {\n const player = this.player;\n player.pause();\n callback && callback();\n }\n else if (this.type === 'vtx_ws') {\n const player = this.player;\n player.pause();\n }\n else {\n this.video.pause();\n callback && callback();\n }\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_Resume(1).then(() => callback && callback());\n }\n else if (this.type === 'bd') {\n const player = this.player;\n player.play();\n callback && callback();\n }\n else {\n this.video.play();\n callback && callback();\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n return player.JS_StartTalk(url);\n }\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n return player.JS_StopTalk();\n }\n return Promise.reject();\n }\n}\n/**\n * 截图\n * @param video\n */\nconst Capture = (video, name, callback) => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const context = canvas.getContext('2d');\n if (context) {\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\n let dataURL;\n canvas.toBlob((blob) => {\n if (blob) {\n dataURL = URL.createObjectURL(blob);\n // const link = document.createElement('a');\n callback && callback(dataURL);\n // link.href = dataURL;\n // link.download = `${name}.png`;\n // link.style.display = 'none';\n // document.body.appendChild(link);\n // link.click();\n // document.body.removeChild(link);\n // URL.revokeObjectURL(dataURL);\n }\n });\n }\n};\nexport default Player;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_PlayerManager","_interopRequireDefault","require","_PlayerManager2","_PlayerManager3","_PlayerManager4","_utils","_PlayerManager5","_WhepManager","_PlayerManager6","_flv","_hls","_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","_a","_b","_c","_d","_e","player","preSpeed","containerId","windowIndex","url","channelNum","deviceCode","_params$enableAgent","enableAgent","container","_params$live","live","type","startTime","endTime","streamType","deviceIp","devicePort","id","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","replace","concat","window","location","host","attachMediaElement","load","Hls","loadSource","attachMedia","dd","getElementById","hasChildNodes","removeChild","firstChild","VtxHlsPlayerManager","autoplay","WHEPClient","JSPlugin","szId","szBasePath","iMaxSplit","iCurrentSplit","wrapDiv","getElementsByTagName","preload","startsWith","JSPluginHkCar","iWidth","clientWidth","iHeight","clientHeight","oStyle","border","borderSelect","background","$container","Jessibuca","videoBuffer","isResize","isFlv","decoder","useMSE","debug","hasAudio","useWCS","autoWasm","isNotMute","PlayerManager","ip","protocol","el","maxNum","num","children","Date","now","WebrtcPlayerManager","H264PlayerManager","BDPlayerManager","src","iframe","width","height","frameBorder","canvas","style","RslPlayer","canvasId","callback","code","message","console","log","play","JS_Play","playURL","mode","JS_SetWindowControlCallback","pluginErrorHandler","index","iErrorCode","playRealVideo","channelList","isOnline","Number","playBack","_this","getHKTimeString","seekTime","moment","playRecordVideo","format","recordSource","destroy","_this2","remove","JS_Stop","childNodes","JS_DestroyWorker","close","capture","captureName","arguments","undefined","time","name","JS_CapturePicture","res","DPlayer","dp","querySelector","toBlob","blob","URL","createObjectURL","fileBlob","screenshot","Capture","resize","setTimeout","JS_Resize","setPlayerAdapter","setVolume","volume","iCurrentSoundWnd","JS_OpenSound","JS_SetVolume","ttxplayer","enableAudio","openAudio","setSpeed","speed","JS_Slow","JS_Fast","playSpeed","playbackRate","onTimeUpdate","_this3","addEventListener","currentTime","diff","call","StreamEnd","seekTo","_regenerator","mark","_callee","_player22","_seekTime","_player23","wrap","_callee$","_context","prev","add","JS_Seek","jumpPlayByTime","abrupt","stop","pause","JS_Pause","resume","JS_Resume","startTalk","JS_StartTalk","stopTalk","JS_StopTalk","videoWidth","videoHeight","context","getContext","drawImage","dataURL","_default","exports"],"sources":["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 BDPlayerManager from '../bd/PlayerManager';\nimport H264PlayerManager from '../h264/PlayerManager';\nimport PlayerManager from '../icc/PlayerManager';\nimport RslPlayer from '../rsl/PlayerManager';\nimport { getHKTimeString, getPlayerParams } from '../utils';\nimport VtxHlsPlayerManager from '../vtxHls/PlayerManager';\nimport WHEPClient from '../vtxHls/WhepManager';\nimport WebrtcPlayerManager from '../webrtc/PlayerManager';\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n var _a, _b, _c, _d, _e;\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n this.containerId = '';\n // 海康窗口下标\n this.windowIndex = 0;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, channelNum, deviceCode, enableAgent = false, container, live = true, type, startTime, endTime, streamType, deviceIp, devicePort, } = params;\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.channelNum = channelNum;\n this.deviceCode = deviceCode || '';\n this.streamType = streamType || '0'; // 默认主码流\n this.enableAgent = enableAgent;\n this.startTime = startTime;\n this.endTime = endTime;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n if (this.type === 'flv' && FlvJs.isSupported() && video) {\n container.appendChild(video);\n this.player = FlvJs.createPlayer({\n type: 'flv',\n isLive: false,\n url: this.url.replace(\"SZGJ_HTTPS\", `${window.location.host}`),\n });\n this.player.attachMediaElement(this.video);\n this.player.load();\n }\n // 处理hls格式视频\n if (this.type === 'hls' && Hls.isSupported() && video) {\n container.appendChild(video);\n this.player = new Hls();\n this.player.loadSource(this.url);\n this.player.attachMedia(this.video);\n }\n if (this.type === 'vtxhls' && Hls.isSupported() && video) {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n container.appendChild(video);\n this.player = new VtxHlsPlayerManager({\n url: this.url,\n video: video,\n });\n }\n if (this.type === 'vtxwhep' && video) {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n this.video.autoplay = true;\n container.appendChild(this.video);\n this.player = new WHEPClient({\n url: this.url,\n video: this.video,\n });\n }\n // 处理海康视频\n if (this.type === 'hk_ws') {\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: './resources/',\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const wrapDiv = document.getElementById(container.id);\n this.video = wrapDiv.getElementsByTagName('video')[0];\n this.video.preload = 'auto';\n }\n // 处理海康视频\n if (this.type === 'hkcar_ws' && (url.startsWith('ws://') || url.startsWith('wss://'))) {\n const wrapDiv = document.getElementById(container.id);\n this.player = new window.JSPluginHkCar({\n szId: container.id,\n iWidth: wrapDiv.clientWidth,\n iHeight: wrapDiv.clientHeight,\n iMaxSplit: 1,\n iCurrentSplit: 1,\n szBasePath: './resources/hkcar/',\n oStyle: {\n border: 'transparent',\n borderSelect: 'transparent',\n background: '#2b3d51',\n },\n });\n }\n // 处理ws视频\n if (this.type === 'vtx_ws') {\n const $container = document.getElementById(container.id);\n this.player = new window.Jessibuca({\n container: $container,\n videoBuffer: 0.2,\n isResize: false,\n isFlv: true,\n decoder: './resources/jessibuca/decoder.js',\n useMSE: true,\n debug: false,\n hasAudio: false,\n useWCS: false,\n autoWasm: true,\n isNotMute: true, //是否开启声音\n });\n }\n if (this.type === 'icc_ws') {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n this.player = new PlayerManager({\n ip: window.location.protocol === 'http:'\n ? deviceIp\n : `${deviceIp || ''}:${devicePort || ''}`,\n el: container.id,\n type: live ? 'real' : 'record',\n maxNum: 1,\n num: 1,\n });\n }\n if (this.type === 'webrtc') {\n const dd = document.getElementById(container.id);\n ((_a = dd === null || dd === void 0 ? void 0 : dd.children) === null || _a === void 0 ? void 0 : _a.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = `${container.id}_${Date.now()}`;\n video.id = id;\n container.appendChild(video);\n this.player = new WebrtcPlayerManager({\n el: id,\n url: this.url,\n type: live,\n });\n }\n if (this.type === 'h264') {\n const dd = document.getElementById(container.id);\n ((_b = dd === null || dd === void 0 ? void 0 : dd.children) === null || _b === void 0 ? void 0 : _b.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = 'playerh264';\n video.id = id;\n container.appendChild(video);\n this.player = new H264PlayerManager({ id: id, url: this.url });\n }\n if (this.type === 'bd') {\n this.player = new BDPlayerManager({\n el: container.id,\n type: live,\n url: this.url,\n });\n }\n if (this.type === 'mp4') {\n const dd = document.getElementById(container.id);\n ((_c = dd === null || dd === void 0 ? void 0 : dd.children) === null || _c === void 0 ? void 0 : _c.length) > 0 && dd.removeChild(dd.firstChild);\n this.video.src = this.url;\n this.video.autoplay = true;\n const id = 'mp4';\n this.video.id = id;\n container.appendChild(this.video);\n }\n if (this.type === 'iframe') {\n const dd = document.getElementById(container.id);\n ((_d = dd === null || dd === void 0 ? void 0 : dd.children) === null || _d === void 0 ? void 0 : _d.length) > 0 && dd.removeChild(dd.firstChild);\n const iframe = document.createElement('iframe');\n iframe.width = '100%';\n iframe.height = '100%';\n iframe.frameBorder = '0';\n iframe.src = this.url;\n container.appendChild(iframe);\n }\n if (this.type === 'rsl') {\n const dd = document.getElementById(container.id);\n ((_e = dd === null || dd === void 0 ? void 0 : dd.children) === null || _e === void 0 ? void 0 : _e.length) > 0 && dd.removeChild(dd.firstChild);\n const canvas = document.createElement('canvas');\n canvas.id = 'myCanvas';\n canvas.style.width = '100%';\n canvas.style.height = '100%';\n container.appendChild(canvas);\n this.player = new RslPlayer({\n url: this.url,\n canvasId: 'myCanvas',\n callback: function (code, message) {\n console.log(code, message);\n },\n });\n }\n }\n /** 播放 */\n play() {\n if (this.type === 'flv') {\n const player = this.player;\n return player.play();\n }\n if (this.type === 'hls') {\n return this.video.play();\n }\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n let result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0);\n this.windowIndex = 0;\n const url = this.url;\n player.JS_SetWindowControlCallback({\n pluginErrorHandler: function (index, iErrorCode) {\n //插件错误回调\n // 流中断\n if (iErrorCode === '0x12f910011') {\n const playerParams = getPlayerParams(this.type, url, this.enableAgent, true);\n result = player.JS_Play(playerParams.url, { playURL: playerParams.url, mode: 1 }, index);\n }\n },\n // firstFrameDisplay: (index: number, width: number, height: number) => {\n // console.log(index, width, height, 'firstFrameDisplay');\n // },\n });\n return result;\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.playRealVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n isOnline: true,\n },\n ],\n streamType: Number(this.streamType) + 1,\n });\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.play();\n }\n if (this.type === 'bd') {\n const player = this.player;\n player.playRealVideo();\n }\n if (this.type === 'mp4') {\n //\n }\n if (this.type === 'vtx_ws') {\n const player = this.player;\n player.play(this.url);\n }\n if (this.type === 'rsl') {\n const player = this.player;\n player.play();\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n this.seekTime = moment(this.startTime);\n this.windowIndex = 0;\n return result;\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n return new Promise((resolve) => {\n player.playRecordVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n },\n ],\n startTime: moment(this.startTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n endTime: moment(this.endTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n recordSource: '2',\n streamType: this.streamType,\n });\n resolve(true);\n });\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n var _a, _b, _c;\n if (this.type === 'flv') {\n const player = this.player;\n player === null || player === void 0 ? void 0 : player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player && player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'vtxhls' || this.type === 'vtxwhep') {\n this.video.remove();\n this.player = null;\n const dd = document.getElementById(this.containerId);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player &&\n player.JS_Stop(0).then(() => {\n this.player = null;\n });\n const dd = document.getElementById(this.containerId);\n dd && dd.childNodes && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_DestroyWorker();\n const dd = document.getElementById(this.containerId);\n (dd === null || dd === void 0 ? void 0 : dd.childNodes) && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'h264') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'bd') {\n const player = this.player;\n player.close(0);\n }\n if (this.type === 'mp4') {\n this.video = null;\n const dd = document.getElementById(this.containerId);\n ((_a = dd === null || dd === void 0 ? void 0 : dd.children) === null || _a === void 0 ? void 0 : _a.length) > 0 && dd.removeChild(dd.firstChild);\n }\n if (this.type === 'vtx_ws') {\n const player = this.player;\n player.destroy();\n }\n if (this.type === 'iframe') {\n const dd = document.getElementById(this.containerId);\n ((_b = dd === null || dd === void 0 ? void 0 : dd.children) === null || _b === void 0 ? void 0 : _b.length) > 0 && dd.removeChild(dd.firstChild);\n }\n if (this.type === 'rsl') {\n const player = this.player;\n player.destroy();\n const dd = document.getElementById(this.containerId);\n ((_c = dd === null || dd === void 0 ? void 0 : dd.children) === null || _c === void 0 ? void 0 : _c.length) > 0 && dd.removeChild(dd.firstChild);\n }\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback && callback(res);\n });\n }\n else if (this.type === 'bd') {\n const DPlayer = this.player.dp;\n const canvas = DPlayer.container.querySelector('canvas');\n if (canvas) {\n canvas.toBlob((blob) => {\n if (blob) {\n callback === null || callback === void 0 ? void 0 : callback(URL.createObjectURL(blob));\n }\n });\n }\n }\n else if (this.type === 'vtx_ws') {\n const player = this.player;\n if (player) {\n const fileBlob = player.screenshot(captureName, 'blob');\n callback && callback(URL.createObjectURL(fileBlob));\n }\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n setTimeout(() => {\n player.JS_Resize();\n }, 500);\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n player.setPlayerAdapter('selfAdaption');\n }\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n if (this.type === 'flv') {\n const player = this.player;\n player.volume = value / 100;\n }\n if (this.type === 'hls') {\n this.video.volume = value / 100;\n }\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (player.iCurrentSoundWnd !== this.windowIndex) {\n player.JS_OpenSound(this.windowIndex);\n }\n player.JS_SetVolume(this.windowIndex, value);\n }\n if (this.type === 'bd') {\n const player = this.player.dp;\n if (!player.ttxplayer.enableAudio)\n player.ttxplayer.openAudio();\n player.ttxplayer.setVolume(value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (this.preSpeed / speed === 2) {\n player.JS_Slow(1);\n }\n if (this.preSpeed / speed === 4) {\n player.JS_Slow(1).then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 8) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 16) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (speed / this.preSpeed === 2) {\n player.JS_Fast(1);\n }\n if (speed / this.preSpeed === 4) {\n player.JS_Fast(1).then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 8) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 16) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n this.preSpeed = speed;\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n player.playSpeed(speed);\n }\n else if (this.type === 'bd') {\n // todo\n }\n else {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n var _a;\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if ((this.type === 'hk_ws' || this.type === 'hkcar_ws') && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' || this.type === 'hkcar_ws'\n ? this.preSpeed\n : this.video.playbackRate);\n });\n // 增加hw_ws 流播放结束回调\n const player = this.player;\n (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {\n StreamEnd: () => {\n callback(moment(this.endTime).diff(this.startTime, 'seconds'), this.preSpeed);\n },\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n this.seekTime = seekTime;\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n const seekTime = (_b = moment(this.startTime)) === null || _b === void 0 ? void 0 : _b.add(time, 'seconds').format('HH:mm:ss');\n player.jumpPlayByTime(seekTime);\n }\n else if (this.type === 'bd') {\n // const seekTime = moment(this.startTime)?.add(time, 'seconds').format('HH:mm:ss');\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 this.player = new BDPlayerManager({\n el: this.containerId,\n type: false,\n url: url,\n });\n this.player.playRealVideo();\n }\n else {\n this.video.currentTime = time;\n }\n return Promise.resolve();\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\n }\n else if (this.type === 'bd') {\n const player = this.player;\n player.pause();\n callback && callback();\n }\n else if (this.type === 'vtx_ws') {\n const player = this.player;\n player.pause();\n }\n else {\n this.video.pause();\n callback && callback();\n }\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_Resume(1).then(() => callback && callback());\n }\n else if (this.type === 'bd') {\n const player = this.player;\n player.play();\n callback && callback();\n }\n else {\n this.video.play();\n callback && callback();\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n return player.JS_StartTalk(url);\n }\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n return player.JS_StopTalk();\n }\n return Promise.reject();\n }\n}\n/**\n * 截图\n * @param video\n */\nconst Capture = (video, name, callback) => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const context = canvas.getContext('2d');\n if (context) {\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\n let dataURL;\n canvas.toBlob((blob) => {\n if (blob) {\n dataURL = URL.createObjectURL(blob);\n // const link = document.createElement('a');\n callback && callback(dataURL);\n // link.href = dataURL;\n // link.download = `${name}.png`;\n // link.style.display = 'none';\n // document.body.appendChild(link);\n // link.click();\n // document.body.removeChild(link);\n // URL.revokeObjectURL(dataURL);\n }\n });\n }\n};\nexport default Player;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":[],"sources":["player/style/index.js"],"sourcesContent":[""],"mappings":""}
1
+ {"version":3,"file":"css.js","names":[],"sources":["player/style/index.js"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["player/style/index.js"],"sourcesContent":[""],"mappings":""}
1
+ {"version":3,"file":"index.js","names":[],"sources":["player/style/index.js"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
@@ -4,30 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
-
10
8
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
11
-
12
9
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
-
14
10
  var _RSLPLAYERMESSAGE = {
15
11
  0: '视频流获取成功',
16
12
  1: '视频第一帧解析成功',
17
13
  2: '视频图片保存成功'
18
14
  };
19
-
20
15
  var RslPlayer = /*#__PURE__*/function () {
21
16
  function RslPlayer(e) {
22
17
  _classCallCheck(this, RslPlayer);
23
-
24
18
  this._option = e;
25
19
  this._isPlay = false;
26
20
  this._isFullScreen = false;
27
21
  this._wasmInit = false;
28
-
29
22
  this._callback = e.callback || function () {};
30
-
31
23
  this._canvas = document.getElementById(e.canvasId);
32
24
  this._ctx = this._canvas.getContext('2d');
33
25
  this._openLoopThreadTime = e.openLoopThreadTime || 1e3 * 60 * 60;
@@ -38,19 +30,19 @@ var RslPlayer = /*#__PURE__*/function () {
38
30
  cors: true,
39
31
  cache: 'no-cache'
40
32
  }, this._fetchOption);
41
- this._timer_rendering = null; // 水印 '192.168.9.199:28182@@@张三',水印内容,不设置此参数则不添加水印。多个水印用@@@分割.
42
-
33
+ this._timer_rendering = null;
34
+ // 水印 '192.168.9.199:28182@@@张三',水印内容,不设置此参数则不添加水印。多个水印用@@@分割.
43
35
  this._watermark = this._option.watermarkText ? Object.assign({
44
36
  text: this._option.watermarkText
45
37
  }, {
46
38
  fontSize: '18px',
47
39
  fontFamily: '微软雅黑',
48
40
  color: '#c00'
49
- }, this._option.watermarkStyle) : null; // if (this._option.autoPlay) {
41
+ }, this._option.watermarkStyle) : null;
42
+ // if (this._option.autoPlay) {
50
43
  // this.play();
51
44
  // }
52
45
  }
53
-
54
46
  _createClass(RslPlayer, [{
55
47
  key: "_initWorker",
56
48
  value: function _initWorker() {
@@ -58,7 +50,6 @@ var RslPlayer = /*#__PURE__*/function () {
58
50
  this._work = new Worker("./resources/rsl/work.js");
59
51
  this._work.onmessage = this._workMsgHandler.bind(this);
60
52
  }
61
-
62
53
  if (typeof this._render == 'undefined') {
63
54
  this._render = new Worker("./resources/rsl/render.js");
64
55
  this._render.onmessage = this._renderMsgHandler.bind(this);
@@ -68,15 +59,13 @@ var RslPlayer = /*#__PURE__*/function () {
68
59
  key: "_renderMsgHandler",
69
60
  value: function _renderMsgHandler(_ref) {
70
61
  var _ref$data = _ref.data,
71
- e = _ref$data.type,
72
- t = _ref$data.result;
62
+ e = _ref$data.type,
63
+ t = _ref$data.result;
73
64
  var n = this;
74
-
75
65
  if (e === 'wasmInit') {
76
66
  var _e = this._canvas.width;
77
67
  var _t = this._canvas.height;
78
68
  n._wasmInit = true;
79
-
80
69
  n._render.postMessage({
81
70
  type: 'setWH',
82
71
  params: {
@@ -84,7 +73,6 @@ var RslPlayer = /*#__PURE__*/function () {
84
73
  height: _t
85
74
  }
86
75
  });
87
-
88
76
  if (this._isPlay) {
89
77
  n._work.postMessage({
90
78
  type: 'fetchStart',
@@ -96,14 +84,10 @@ var RslPlayer = /*#__PURE__*/function () {
96
84
  }
97
85
  } else if (e === 'renderSuccess') {
98
86
  var _e2 = t.imgData;
99
-
100
87
  if (n._canvas && n._ctx) {
101
88
  n._clearCanvas();
102
-
103
89
  n._ctx.putImageData(_e2, 0, 0);
104
-
105
90
  n._renderWidget();
106
-
107
91
  n._callback && n._callback('1', _RSLPLAYERMESSAGE['1']);
108
92
  }
109
93
  }
@@ -112,9 +96,8 @@ var RslPlayer = /*#__PURE__*/function () {
112
96
  key: "_workMsgHandler",
113
97
  value: function _workMsgHandler(_ref2) {
114
98
  var _ref2$data = _ref2.data,
115
- e = _ref2$data.type,
116
- t = _ref2$data.result;
117
-
99
+ e = _ref2$data.type,
100
+ t = _ref2$data.result;
118
101
  if (e === 'fetchSuccess') {
119
102
  this._render.postMessage({
120
103
  type: 'renderStart',
@@ -129,15 +112,12 @@ var RslPlayer = /*#__PURE__*/function () {
129
112
  value: function play() {
130
113
  if (!this._isPlay) {
131
114
  this._isPlay = true;
132
-
133
115
  this._initWorker();
134
-
135
- this.openLoopThread(); // 开启定时解码和渲染
136
-
116
+ this.openLoopThread();
117
+ // 开启定时解码和渲染
137
118
  if (this._timer_rendering) {
138
119
  clearInterval(this._timer_rendering);
139
120
  }
140
-
141
121
  var thiz = this;
142
122
  this._timer_rendering = setInterval(function () {
143
123
  if (thiz._render) {
@@ -153,30 +133,23 @@ var RslPlayer = /*#__PURE__*/function () {
153
133
  key: "openLoopThread",
154
134
  value: function openLoopThread() {
155
135
  var e = this;
156
-
157
136
  if (this._openLoopThreadTime) {
158
137
  if (this._openLoopThreadTimer) {
159
138
  clearInterval(e._openLoopThreadTimer);
160
139
  e._openLoopThreadTimer = null;
161
140
  }
162
-
163
141
  e._openLoopThreadTimer = setInterval(function () {
164
142
  if (typeof e._work != 'undefined') {
165
143
  e._work.postMessage({
166
144
  type: 'fetchStop'
167
145
  });
168
-
169
146
  e._work.terminate();
170
-
171
147
  e._work = undefined;
172
148
  }
173
-
174
149
  if (typeof e._render != 'undefined') {
175
150
  e._render.terminate();
176
-
177
151
  e._render = undefined;
178
152
  }
179
-
180
153
  e._initWorker();
181
154
  }, e._openLoopThreadTime);
182
155
  }
@@ -187,7 +160,6 @@ var RslPlayer = /*#__PURE__*/function () {
187
160
  function e(e) {
188
161
  return e < 10 ? '0' + e : e;
189
162
  }
190
-
191
163
  var t = new Date();
192
164
  var n = t.getFullYear();
193
165
  var s = e(t.getMonth() + 1);
@@ -210,34 +182,27 @@ var RslPlayer = /*#__PURE__*/function () {
210
182
  var e = this._canvas.width;
211
183
  this._ctx.font = '30px 微软雅黑';
212
184
  this._ctx.fillStyle = 'rgba(255,255,255,.1)';
213
-
214
185
  this._ctx.fillText('Hello', 10, 50, e);
215
186
  }
216
187
  }, {
217
188
  key: "stop",
218
189
  value: function stop() {
219
190
  var e = this;
220
-
221
191
  if (this._isPlay) {
222
192
  this._work.postMessage({
223
193
  type: 'fetchStop'
224
194
  });
225
-
226
195
  this._isPlay = false;
227
196
  this._wasmInit = false;
228
-
229
197
  if (this._openLoopThreadTimer) {
230
198
  clearInterval(e._openLoopThreadTimer);
231
199
  e._openLoopThreadTimer = null;
232
200
  }
233
-
234
201
  this._work.terminate();
235
-
236
202
  this._render.terminate();
237
-
238
203
  this._work = undefined;
239
- this._render = undefined; // 停止定时解码和渲染
240
-
204
+ this._render = undefined;
205
+ // 停止定时解码和渲染
241
206
  if (this._timer_rendering) {
242
207
  clearInterval(this._timer_rendering);
243
208
  this._timer_rendering = null;
@@ -248,28 +213,21 @@ var RslPlayer = /*#__PURE__*/function () {
248
213
  key: "destroy",
249
214
  value: function destroy() {
250
215
  var e = this;
251
-
252
216
  e._clearCanvas();
253
-
254
217
  e._work.postMessage({
255
218
  type: 'fetchStop'
256
219
  });
257
-
258
220
  e._isPlay = false;
259
221
  e._wasmInit = false;
260
-
261
222
  if (e._openLoopThreadTimer) {
262
223
  clearInterval(e._openLoopThreadTimer);
263
224
  e._openLoopThreadTimer = null;
264
225
  }
265
-
266
226
  e._work.terminate();
267
-
268
227
  e._render.terminate();
269
-
270
228
  e._work = undefined;
271
- e._render = undefined; // 停止定时解码和渲染
272
-
229
+ e._render = undefined;
230
+ // 停止定时解码和渲染
273
231
  if (this._timer_rendering) {
274
232
  clearInterval(this._timer_rendering);
275
233
  this._timer_rendering = null;
@@ -280,7 +238,6 @@ var RslPlayer = /*#__PURE__*/function () {
280
238
  value: function _clearCanvas() {
281
239
  var e = this;
282
240
  e._canvas.height = e._canvas.height;
283
-
284
241
  e._ctx.clearRect(0, 0, e._canvas.width, e._canvas.height);
285
242
  }
286
243
  }, {
@@ -306,9 +263,7 @@ var RslPlayer = /*#__PURE__*/function () {
306
263
  value: function screenshot() {
307
264
  var e = this;
308
265
  this.stop();
309
-
310
266
  var t = this._canvas.toDataURL('image/png');
311
-
312
267
  this._downLoad(t).then(function () {
313
268
  e._callback && e._callback('2', _RSLPLAYERMESSAGE['2']);
314
269
  e.play();
@@ -320,7 +275,6 @@ var RslPlayer = /*#__PURE__*/function () {
320
275
  var e = this;
321
276
  var t = e._canvas.width;
322
277
  var n = e._canvas.height;
323
-
324
278
  e._render.postMessage({
325
279
  type: 'setWH',
326
280
  params: {
@@ -328,14 +282,11 @@ var RslPlayer = /*#__PURE__*/function () {
328
282
  height: n
329
283
  }
330
284
  });
331
-
332
285
  e._clearCanvas();
333
286
  }
334
287
  }]);
335
-
336
288
  return RslPlayer;
337
289
  }();
338
-
339
290
  var _default = RslPlayer;
340
291
  exports["default"] = _default;
341
292
  //# sourceMappingURL=PlayerManager.js.map