wargerm 0.7.45 → 0.7.46
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/dist/index.esm.js +352 -1
- package/dist/index.js +354 -3
- package/package.json +3 -3
package/dist/index.esm.js
CHANGED
@@ -20,7 +20,7 @@ import zhCN$1 from 'antd/es/locale/zh_CN';
|
|
20
20
|
import weekOfYear from 'dayjs/plugin/weekOfYear';
|
21
21
|
import Player from 'xgplayer';
|
22
22
|
import FlvPlayer from 'xgplayer-flv.js';
|
23
|
-
import
|
23
|
+
import Hls from 'hls.js';
|
24
24
|
import ReactEChartsCore from 'echarts-for-react/lib/core';
|
25
25
|
import * as echarts from 'echarts/core';
|
26
26
|
import { use, registerTheme, graphic } from 'echarts/core';
|
@@ -278,6 +278,36 @@ function _createSuper(Derived) {
|
|
278
278
|
};
|
279
279
|
}
|
280
280
|
|
281
|
+
function _superPropBase(object, property) {
|
282
|
+
while (!Object.prototype.hasOwnProperty.call(object, property)) {
|
283
|
+
object = _getPrototypeOf(object);
|
284
|
+
if (object === null) break;
|
285
|
+
}
|
286
|
+
|
287
|
+
return object;
|
288
|
+
}
|
289
|
+
|
290
|
+
function _get() {
|
291
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
292
|
+
_get = Reflect.get;
|
293
|
+
} else {
|
294
|
+
_get = function _get(target, property, receiver) {
|
295
|
+
var base = _superPropBase(target, property);
|
296
|
+
|
297
|
+
if (!base) return;
|
298
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
299
|
+
|
300
|
+
if (desc.get) {
|
301
|
+
return desc.get.call(arguments.length < 3 ? target : receiver);
|
302
|
+
}
|
303
|
+
|
304
|
+
return desc.value;
|
305
|
+
};
|
306
|
+
}
|
307
|
+
|
308
|
+
return _get.apply(this, arguments);
|
309
|
+
}
|
310
|
+
|
281
311
|
function _slicedToArray(arr, i) {
|
282
312
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
283
313
|
}
|
@@ -8484,6 +8514,327 @@ var WebsocketHeart = /*#__PURE__*/_createClass(function WebsocketHeart(_ref) {
|
|
8484
8514
|
this.heartCheck = null;
|
8485
8515
|
});
|
8486
8516
|
|
8517
|
+
var util = {};
|
8518
|
+
|
8519
|
+
util.getBrowserVersion = function () {
|
8520
|
+
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
|
8521
|
+
|
8522
|
+
if (userAgent.toLowerCase().indexOf("mobile") > -1) {
|
8523
|
+
return "Unknown";
|
8524
|
+
}
|
8525
|
+
|
8526
|
+
if (userAgent.indexOf("Firefox") > -1) {
|
8527
|
+
var version = userAgent.match(/firefox\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8528
|
+
return "Firefox " + version;
|
8529
|
+
} else if (userAgent.indexOf("Edge") > -1) {
|
8530
|
+
var _version = userAgent.match(/edge\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8531
|
+
return "Edge " + _version;
|
8532
|
+
} else if (userAgent.indexOf("rv:11") > -1) {
|
8533
|
+
return "IE 11";
|
8534
|
+
} else if (userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1) {
|
8535
|
+
if (userAgent.indexOf("Opera") > -1) {
|
8536
|
+
var _version2 = userAgent.match(/opera\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8537
|
+
return "Opera " + _version2;
|
8538
|
+
}
|
8539
|
+
|
8540
|
+
if (userAgent.indexOf("OPR") > -1) {
|
8541
|
+
var _version3 = userAgent.match(/opr\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8542
|
+
return "Opera " + _version3;
|
8543
|
+
}
|
8544
|
+
} else if (userAgent.indexOf("Chrome") > -1) {
|
8545
|
+
var _version4 = userAgent.match(/chrome\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8546
|
+
return "Chrome " + _version4;
|
8547
|
+
} else if (userAgent.indexOf("Safari") > -1) {
|
8548
|
+
var _version5 = userAgent.match(/safari\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8549
|
+
return "Safari " + _version5;
|
8550
|
+
} else if (userAgent.indexOf("MSIE") > -1 || userAgent.indexOf("Trident") > -1) {
|
8551
|
+
if (userAgent.indexOf("MSIE") > -1) {
|
8552
|
+
var _version6 = userAgent.match(/msie [\d.]+/gi)[0].match(/[\d]+/)[0];
|
8553
|
+
return "IE " + _version6;
|
8554
|
+
}
|
8555
|
+
|
8556
|
+
if (userAgent.indexOf("Trident") > -1) {
|
8557
|
+
var versionTrident = userAgent.match(/trident\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8558
|
+
|
8559
|
+
var _version7 = parseInt(versionTrident) + 4;
|
8560
|
+
|
8561
|
+
return "IE " + _version7;
|
8562
|
+
}
|
8563
|
+
} else {
|
8564
|
+
return "Unknown";
|
8565
|
+
}
|
8566
|
+
};
|
8567
|
+
|
8568
|
+
var HlsJsPlayer = /*#__PURE__*/function (_Player) {
|
8569
|
+
_inherits(HlsJsPlayer, _Player);
|
8570
|
+
|
8571
|
+
var _super = _createSuper(HlsJsPlayer);
|
8572
|
+
|
8573
|
+
function HlsJsPlayer(options) {
|
8574
|
+
var _this;
|
8575
|
+
|
8576
|
+
_classCallCheck(this, HlsJsPlayer);
|
8577
|
+
|
8578
|
+
_this = _super.call(this, options);
|
8579
|
+
_this.hlsOpts = options.hlsOpts || {};
|
8580
|
+
_this.hlsOpts.mediaType = _this.config.mediaType;
|
8581
|
+
var util$1 = Player.util;
|
8582
|
+
|
8583
|
+
var player = _assertThisInitialized(_this);
|
8584
|
+
|
8585
|
+
player.once('complete', function () {
|
8586
|
+
if (player.config.isLive) {
|
8587
|
+
util$1.addClass(player.root, 'xgplayer-is-live');
|
8588
|
+
|
8589
|
+
if (!util$1.findDom(player.controls, '.xgplayer-live')) {
|
8590
|
+
var live = util$1.createDom('xg-live', player.lang.LIVE || '正在直播', {}, 'xgplayer-live');
|
8591
|
+
player.controls.appendChild(live);
|
8592
|
+
}
|
8593
|
+
}
|
8594
|
+
});
|
8595
|
+
_this.browser = util.getBrowserVersion();
|
8596
|
+
|
8597
|
+
if (player.config.useHls === undefined) {
|
8598
|
+
if (Player.sniffer.device === 'mobile' && navigator.platform !== 'MacIntel' && navigator.platform !== 'Win32' || _this.browser.indexOf('Safari') > -1) {
|
8599
|
+
return _possibleConstructorReturn(_this);
|
8600
|
+
}
|
8601
|
+
} else if (!player.config.useHls) {
|
8602
|
+
return _possibleConstructorReturn(_this);
|
8603
|
+
}
|
8604
|
+
|
8605
|
+
_this._start = _this.start;
|
8606
|
+
|
8607
|
+
_this.start = function () {
|
8608
|
+
if (!window.XgVideoProxy) {
|
8609
|
+
_this.root.insertBefore(_this.video, _this.root.firstChild);
|
8610
|
+
}
|
8611
|
+
|
8612
|
+
setTimeout(function () {
|
8613
|
+
_this.emit('complete');
|
8614
|
+
|
8615
|
+
if (_this.danmu && typeof _this.danmu.resize === 'function') {
|
8616
|
+
_this.danmu.resize();
|
8617
|
+
}
|
8618
|
+
}, 1);
|
8619
|
+
};
|
8620
|
+
|
8621
|
+
Number.isFinite = Number.isFinite || function (value) {
|
8622
|
+
return typeof value === "number" && isFinite(value);
|
8623
|
+
};
|
8624
|
+
|
8625
|
+
var hls;
|
8626
|
+
hls = new Hls(_this.hlsOpts);
|
8627
|
+
_this.hls = hls;
|
8628
|
+
Object.defineProperty(player, 'src', {
|
8629
|
+
get: function get() {
|
8630
|
+
return player.currentSrc;
|
8631
|
+
},
|
8632
|
+
set: function set(url) {
|
8633
|
+
util$1.removeClass(player.root, 'xgplayer-is-live');
|
8634
|
+
var liveDom = document.querySelector('.xgplayer-live');
|
8635
|
+
|
8636
|
+
if (liveDom) {
|
8637
|
+
liveDom.parentNode.removeChild(liveDom);
|
8638
|
+
} // player.config.url = url
|
8639
|
+
|
8640
|
+
|
8641
|
+
player.autoplay = true;
|
8642
|
+
var paused = player.paused;
|
8643
|
+
|
8644
|
+
if (!paused) {
|
8645
|
+
player.pause();
|
8646
|
+
}
|
8647
|
+
|
8648
|
+
player.hls.stopLoad();
|
8649
|
+
player.hls.detachMedia();
|
8650
|
+
player.hls.destroy();
|
8651
|
+
player.hls = new Hls(player.hlsOpts);
|
8652
|
+
player.register(url);
|
8653
|
+
player.once('canplay', function () {
|
8654
|
+
player.play().catch(function (err) {});
|
8655
|
+
});
|
8656
|
+
player.hls.loadSource(url);
|
8657
|
+
player.hls.attachMedia(player.video);
|
8658
|
+
},
|
8659
|
+
configurable: true
|
8660
|
+
});
|
8661
|
+
|
8662
|
+
_this.register(_this.config.url);
|
8663
|
+
|
8664
|
+
_this.once('complete', function () {
|
8665
|
+
hls.attachMedia(player.video);
|
8666
|
+
|
8667
|
+
if (!player.config.videoInit) {
|
8668
|
+
player.once('canplay', function () {
|
8669
|
+
player.play().catch(function (err) {});
|
8670
|
+
});
|
8671
|
+
}
|
8672
|
+
});
|
8673
|
+
|
8674
|
+
_this.once('destroy', function () {
|
8675
|
+
hls.stopLoad();
|
8676
|
+
});
|
8677
|
+
|
8678
|
+
return _this;
|
8679
|
+
}
|
8680
|
+
|
8681
|
+
_createClass(HlsJsPlayer, [{
|
8682
|
+
key: "switchURL",
|
8683
|
+
value: function switchURL(url) {
|
8684
|
+
var player = this;
|
8685
|
+
player.url = url;
|
8686
|
+
player.config.url = url;
|
8687
|
+
var curTime = player.currentTime; // player.video.muted = true
|
8688
|
+
|
8689
|
+
Player.util.addClass(player.root, 'xgplayer-is-enter');
|
8690
|
+
player.once('playing', function () {
|
8691
|
+
Player.util.removeClass(player.root, 'xgplayer-is-enter'); // player.video.muted = false
|
8692
|
+
});
|
8693
|
+
player.once('canplay', function () {
|
8694
|
+
player.currentTime = curTime;
|
8695
|
+
player.play();
|
8696
|
+
});
|
8697
|
+
|
8698
|
+
if (_typeof(player.hls) === 'object') {
|
8699
|
+
player.hls.originUrl = url;
|
8700
|
+
}
|
8701
|
+
|
8702
|
+
player.src = url;
|
8703
|
+
}
|
8704
|
+
}, {
|
8705
|
+
key: "register",
|
8706
|
+
value: function register(url) {
|
8707
|
+
var hls = this.hls;
|
8708
|
+
var util = Player.util;
|
8709
|
+
var player = this;
|
8710
|
+
hls.on(Hls.Events.MEDIA_ATTACHED, function () {
|
8711
|
+
hls.loadSource(url);
|
8712
|
+
});
|
8713
|
+
hls.on(Hls.Events.LEVEL_LOADED, function (name, e) {
|
8714
|
+
if (!hls.inited) {
|
8715
|
+
hls.inited = true;
|
8716
|
+
|
8717
|
+
if (e && e.details && e.details.live) {
|
8718
|
+
util.addClass(player.root, 'xgplayer-is-live');
|
8719
|
+
|
8720
|
+
if (!util.findDom(player.root, '.xgplayer-live')) {
|
8721
|
+
var live = util.createDom('xg-live', player.lang.LIVE || '正在直播', {}, 'xgplayer-live');
|
8722
|
+
player.controls.appendChild(live);
|
8723
|
+
}
|
8724
|
+
}
|
8725
|
+
}
|
8726
|
+
});
|
8727
|
+
hls.on(Hls.Events.ERROR, function (event, data) {
|
8728
|
+
player.emit('HLS_ERROR', {
|
8729
|
+
errorType: data.type,
|
8730
|
+
errorDetails: data.details,
|
8731
|
+
errorFatal: data.fatal
|
8732
|
+
});
|
8733
|
+
|
8734
|
+
if (data.fatal) {
|
8735
|
+
switch (data.type) {
|
8736
|
+
case Hls.ErrorTypes.NETWORK_ERROR:
|
8737
|
+
hls.startLoad();
|
8738
|
+
break;
|
8739
|
+
|
8740
|
+
case Hls.ErrorTypes.MEDIA_ERROR:
|
8741
|
+
hls.recoverMediaError();
|
8742
|
+
break;
|
8743
|
+
|
8744
|
+
default:
|
8745
|
+
player.emit('error', data);
|
8746
|
+
}
|
8747
|
+
}
|
8748
|
+
});
|
8749
|
+
|
8750
|
+
this._statistics();
|
8751
|
+
}
|
8752
|
+
}, {
|
8753
|
+
key: "updateURLOnly",
|
8754
|
+
value: function updateURLOnly(url) {
|
8755
|
+
var player = this;
|
8756
|
+
var levelController = player.hls.levelController;
|
8757
|
+
|
8758
|
+
if (Array.isArray(levelController._levels) && levelController._levels.length > 0) {
|
8759
|
+
levelController._levels[0].url = [url];
|
8760
|
+
}
|
8761
|
+
|
8762
|
+
player.config.url = url;
|
8763
|
+
player.url = url;
|
8764
|
+
player.hls.originUrl = url;
|
8765
|
+
}
|
8766
|
+
}, {
|
8767
|
+
key: "_statistics",
|
8768
|
+
value: function _statistics() {
|
8769
|
+
var statsInfo = {
|
8770
|
+
speed: 0,
|
8771
|
+
playerType: "HlsPlayer"
|
8772
|
+
};
|
8773
|
+
var mediainfo = {
|
8774
|
+
videoDataRate: 0,
|
8775
|
+
audioDataRate: 0
|
8776
|
+
};
|
8777
|
+
var hls = this.hls;
|
8778
|
+
var player = this;
|
8779
|
+
hls.on(Hls.Events.FRAG_LOAD_PROGRESS, function (flag, payload) {
|
8780
|
+
statsInfo.speed = payload.stats.loaded / 1000;
|
8781
|
+
});
|
8782
|
+
hls.on(Hls.Events.FRAG_PARSING_DATA, function (flag, payload) {
|
8783
|
+
if (payload.type === 'video') {
|
8784
|
+
mediainfo.fps = parseInt(payload.nb / (payload.endPTS - payload.startPTS));
|
8785
|
+
}
|
8786
|
+
});
|
8787
|
+
hls.on(Hls.Events.FRAG_PARSING_INIT_SEGMENT, function (flag, payload) {
|
8788
|
+
mediainfo.hasAudio = payload && payload.tracks && payload.tracks.audio ? true : false;
|
8789
|
+
mediainfo.hasVideo = payload && payload.tracks && payload.tracks.video ? true : false;
|
8790
|
+
|
8791
|
+
if (mediainfo.hasAudio && payload.tracks.audio) {
|
8792
|
+
var track = payload.tracks.audio;
|
8793
|
+
mediainfo.audioChannelCount = track.metadata && track.metadata.channelCount ? track.metadata.channelCount : 0;
|
8794
|
+
mediainfo.audioCodec = track.codec;
|
8795
|
+
}
|
8796
|
+
|
8797
|
+
if (mediainfo.hasVideo && payload.tracks.video) {
|
8798
|
+
var _track = payload.tracks.video;
|
8799
|
+
mediainfo.videoCodec = _track.codec;
|
8800
|
+
mediainfo.width = _track.metadata && _track.metadata.width ? _track.metadata.width : 0;
|
8801
|
+
mediainfo.height = _track.metadata && _track.metadata.height ? _track.metadata.height : 0;
|
8802
|
+
}
|
8803
|
+
|
8804
|
+
mediainfo.duration = payload.frag && payload.frag.duration ? payload.frag.duration : 0;
|
8805
|
+
mediainfo.level = payload.frag && payload.frag.level ? payload.frag.level : 0;
|
8806
|
+
|
8807
|
+
if (mediainfo.videoCodec || mediainfo.audioCodec) {
|
8808
|
+
mediainfo.mimeType = "video/hls; codecs=\"".concat(mediainfo.videoCodec, ";").concat(mediainfo.audioCodec, "\"");
|
8809
|
+
}
|
8810
|
+
|
8811
|
+
player.mediainfo = mediainfo;
|
8812
|
+
player.emit("media_info", mediainfo);
|
8813
|
+
});
|
8814
|
+
this._statisticsTimmer = setInterval(function () {
|
8815
|
+
player.emit("statistics_info", statsInfo);
|
8816
|
+
statsInfo.speed = 0;
|
8817
|
+
}, 1000);
|
8818
|
+
}
|
8819
|
+
}, {
|
8820
|
+
key: "destroy",
|
8821
|
+
value: function destroy() {
|
8822
|
+
clearInterval(this._statisticsTimmer);
|
8823
|
+
|
8824
|
+
if (this.hls) {
|
8825
|
+
this.hls.destroy();
|
8826
|
+
}
|
8827
|
+
|
8828
|
+
_get(_getPrototypeOf(HlsJsPlayer.prototype), "destroy", this).call(this);
|
8829
|
+
}
|
8830
|
+
}]);
|
8831
|
+
|
8832
|
+
return HlsJsPlayer;
|
8833
|
+
}(Player);
|
8834
|
+
|
8835
|
+
HlsJsPlayer.isSupported = Hls.isSupported;
|
8836
|
+
HlsJsPlayer.HlsJs = Hls;
|
8837
|
+
|
8487
8838
|
function Xgplay(_ref, fRef) {
|
8488
8839
|
var config = _ref.config,
|
8489
8840
|
type = _ref.type,
|
package/dist/index.js
CHANGED
@@ -24,7 +24,7 @@ var zhCN$1 = require('antd/es/locale/zh_CN');
|
|
24
24
|
var weekOfYear = require('dayjs/plugin/weekOfYear');
|
25
25
|
var Player = require('xgplayer');
|
26
26
|
var FlvPlayer = require('xgplayer-flv.js');
|
27
|
-
var
|
27
|
+
var Hls = require('hls.js');
|
28
28
|
var ReactEChartsCore = require('echarts-for-react/lib/core');
|
29
29
|
var echarts = require('echarts/core');
|
30
30
|
var charts = require('echarts/charts');
|
@@ -68,7 +68,7 @@ var zhCN__default$1 = /*#__PURE__*/_interopDefaultLegacy(zhCN$1);
|
|
68
68
|
var weekOfYear__default = /*#__PURE__*/_interopDefaultLegacy(weekOfYear);
|
69
69
|
var Player__default = /*#__PURE__*/_interopDefaultLegacy(Player);
|
70
70
|
var FlvPlayer__default = /*#__PURE__*/_interopDefaultLegacy(FlvPlayer);
|
71
|
-
var
|
71
|
+
var Hls__default = /*#__PURE__*/_interopDefaultLegacy(Hls);
|
72
72
|
var ReactEChartsCore__default = /*#__PURE__*/_interopDefaultLegacy(ReactEChartsCore);
|
73
73
|
var echarts__namespace = /*#__PURE__*/_interopNamespace(echarts);
|
74
74
|
|
@@ -322,6 +322,36 @@ function _createSuper(Derived) {
|
|
322
322
|
};
|
323
323
|
}
|
324
324
|
|
325
|
+
function _superPropBase(object, property) {
|
326
|
+
while (!Object.prototype.hasOwnProperty.call(object, property)) {
|
327
|
+
object = _getPrototypeOf(object);
|
328
|
+
if (object === null) break;
|
329
|
+
}
|
330
|
+
|
331
|
+
return object;
|
332
|
+
}
|
333
|
+
|
334
|
+
function _get() {
|
335
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
336
|
+
_get = Reflect.get;
|
337
|
+
} else {
|
338
|
+
_get = function _get(target, property, receiver) {
|
339
|
+
var base = _superPropBase(target, property);
|
340
|
+
|
341
|
+
if (!base) return;
|
342
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
343
|
+
|
344
|
+
if (desc.get) {
|
345
|
+
return desc.get.call(arguments.length < 3 ? target : receiver);
|
346
|
+
}
|
347
|
+
|
348
|
+
return desc.value;
|
349
|
+
};
|
350
|
+
}
|
351
|
+
|
352
|
+
return _get.apply(this, arguments);
|
353
|
+
}
|
354
|
+
|
325
355
|
function _slicedToArray(arr, i) {
|
326
356
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
327
357
|
}
|
@@ -8528,6 +8558,327 @@ var WebsocketHeart = /*#__PURE__*/_createClass(function WebsocketHeart(_ref) {
|
|
8528
8558
|
this.heartCheck = null;
|
8529
8559
|
});
|
8530
8560
|
|
8561
|
+
var util = {};
|
8562
|
+
|
8563
|
+
util.getBrowserVersion = function () {
|
8564
|
+
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
|
8565
|
+
|
8566
|
+
if (userAgent.toLowerCase().indexOf("mobile") > -1) {
|
8567
|
+
return "Unknown";
|
8568
|
+
}
|
8569
|
+
|
8570
|
+
if (userAgent.indexOf("Firefox") > -1) {
|
8571
|
+
var version = userAgent.match(/firefox\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8572
|
+
return "Firefox " + version;
|
8573
|
+
} else if (userAgent.indexOf("Edge") > -1) {
|
8574
|
+
var _version = userAgent.match(/edge\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8575
|
+
return "Edge " + _version;
|
8576
|
+
} else if (userAgent.indexOf("rv:11") > -1) {
|
8577
|
+
return "IE 11";
|
8578
|
+
} else if (userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1) {
|
8579
|
+
if (userAgent.indexOf("Opera") > -1) {
|
8580
|
+
var _version2 = userAgent.match(/opera\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8581
|
+
return "Opera " + _version2;
|
8582
|
+
}
|
8583
|
+
|
8584
|
+
if (userAgent.indexOf("OPR") > -1) {
|
8585
|
+
var _version3 = userAgent.match(/opr\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8586
|
+
return "Opera " + _version3;
|
8587
|
+
}
|
8588
|
+
} else if (userAgent.indexOf("Chrome") > -1) {
|
8589
|
+
var _version4 = userAgent.match(/chrome\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8590
|
+
return "Chrome " + _version4;
|
8591
|
+
} else if (userAgent.indexOf("Safari") > -1) {
|
8592
|
+
var _version5 = userAgent.match(/safari\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8593
|
+
return "Safari " + _version5;
|
8594
|
+
} else if (userAgent.indexOf("MSIE") > -1 || userAgent.indexOf("Trident") > -1) {
|
8595
|
+
if (userAgent.indexOf("MSIE") > -1) {
|
8596
|
+
var _version6 = userAgent.match(/msie [\d.]+/gi)[0].match(/[\d]+/)[0];
|
8597
|
+
return "IE " + _version6;
|
8598
|
+
}
|
8599
|
+
|
8600
|
+
if (userAgent.indexOf("Trident") > -1) {
|
8601
|
+
var versionTrident = userAgent.match(/trident\/[\d.]+/gi)[0].match(/[\d]+/)[0];
|
8602
|
+
|
8603
|
+
var _version7 = parseInt(versionTrident) + 4;
|
8604
|
+
|
8605
|
+
return "IE " + _version7;
|
8606
|
+
}
|
8607
|
+
} else {
|
8608
|
+
return "Unknown";
|
8609
|
+
}
|
8610
|
+
};
|
8611
|
+
|
8612
|
+
var HlsJsPlayer = /*#__PURE__*/function (_Player) {
|
8613
|
+
_inherits(HlsJsPlayer, _Player);
|
8614
|
+
|
8615
|
+
var _super = _createSuper(HlsJsPlayer);
|
8616
|
+
|
8617
|
+
function HlsJsPlayer(options) {
|
8618
|
+
var _this;
|
8619
|
+
|
8620
|
+
_classCallCheck(this, HlsJsPlayer);
|
8621
|
+
|
8622
|
+
_this = _super.call(this, options);
|
8623
|
+
_this.hlsOpts = options.hlsOpts || {};
|
8624
|
+
_this.hlsOpts.mediaType = _this.config.mediaType;
|
8625
|
+
var util$1 = Player__default['default'].util;
|
8626
|
+
|
8627
|
+
var player = _assertThisInitialized(_this);
|
8628
|
+
|
8629
|
+
player.once('complete', function () {
|
8630
|
+
if (player.config.isLive) {
|
8631
|
+
util$1.addClass(player.root, 'xgplayer-is-live');
|
8632
|
+
|
8633
|
+
if (!util$1.findDom(player.controls, '.xgplayer-live')) {
|
8634
|
+
var live = util$1.createDom('xg-live', player.lang.LIVE || '正在直播', {}, 'xgplayer-live');
|
8635
|
+
player.controls.appendChild(live);
|
8636
|
+
}
|
8637
|
+
}
|
8638
|
+
});
|
8639
|
+
_this.browser = util.getBrowserVersion();
|
8640
|
+
|
8641
|
+
if (player.config.useHls === undefined) {
|
8642
|
+
if (Player__default['default'].sniffer.device === 'mobile' && navigator.platform !== 'MacIntel' && navigator.platform !== 'Win32' || _this.browser.indexOf('Safari') > -1) {
|
8643
|
+
return _possibleConstructorReturn(_this);
|
8644
|
+
}
|
8645
|
+
} else if (!player.config.useHls) {
|
8646
|
+
return _possibleConstructorReturn(_this);
|
8647
|
+
}
|
8648
|
+
|
8649
|
+
_this._start = _this.start;
|
8650
|
+
|
8651
|
+
_this.start = function () {
|
8652
|
+
if (!window.XgVideoProxy) {
|
8653
|
+
_this.root.insertBefore(_this.video, _this.root.firstChild);
|
8654
|
+
}
|
8655
|
+
|
8656
|
+
setTimeout(function () {
|
8657
|
+
_this.emit('complete');
|
8658
|
+
|
8659
|
+
if (_this.danmu && typeof _this.danmu.resize === 'function') {
|
8660
|
+
_this.danmu.resize();
|
8661
|
+
}
|
8662
|
+
}, 1);
|
8663
|
+
};
|
8664
|
+
|
8665
|
+
Number.isFinite = Number.isFinite || function (value) {
|
8666
|
+
return typeof value === "number" && isFinite(value);
|
8667
|
+
};
|
8668
|
+
|
8669
|
+
var hls;
|
8670
|
+
hls = new Hls__default['default'](_this.hlsOpts);
|
8671
|
+
_this.hls = hls;
|
8672
|
+
Object.defineProperty(player, 'src', {
|
8673
|
+
get: function get() {
|
8674
|
+
return player.currentSrc;
|
8675
|
+
},
|
8676
|
+
set: function set(url) {
|
8677
|
+
util$1.removeClass(player.root, 'xgplayer-is-live');
|
8678
|
+
var liveDom = document.querySelector('.xgplayer-live');
|
8679
|
+
|
8680
|
+
if (liveDom) {
|
8681
|
+
liveDom.parentNode.removeChild(liveDom);
|
8682
|
+
} // player.config.url = url
|
8683
|
+
|
8684
|
+
|
8685
|
+
player.autoplay = true;
|
8686
|
+
var paused = player.paused;
|
8687
|
+
|
8688
|
+
if (!paused) {
|
8689
|
+
player.pause();
|
8690
|
+
}
|
8691
|
+
|
8692
|
+
player.hls.stopLoad();
|
8693
|
+
player.hls.detachMedia();
|
8694
|
+
player.hls.destroy();
|
8695
|
+
player.hls = new Hls__default['default'](player.hlsOpts);
|
8696
|
+
player.register(url);
|
8697
|
+
player.once('canplay', function () {
|
8698
|
+
player.play().catch(function (err) {});
|
8699
|
+
});
|
8700
|
+
player.hls.loadSource(url);
|
8701
|
+
player.hls.attachMedia(player.video);
|
8702
|
+
},
|
8703
|
+
configurable: true
|
8704
|
+
});
|
8705
|
+
|
8706
|
+
_this.register(_this.config.url);
|
8707
|
+
|
8708
|
+
_this.once('complete', function () {
|
8709
|
+
hls.attachMedia(player.video);
|
8710
|
+
|
8711
|
+
if (!player.config.videoInit) {
|
8712
|
+
player.once('canplay', function () {
|
8713
|
+
player.play().catch(function (err) {});
|
8714
|
+
});
|
8715
|
+
}
|
8716
|
+
});
|
8717
|
+
|
8718
|
+
_this.once('destroy', function () {
|
8719
|
+
hls.stopLoad();
|
8720
|
+
});
|
8721
|
+
|
8722
|
+
return _this;
|
8723
|
+
}
|
8724
|
+
|
8725
|
+
_createClass(HlsJsPlayer, [{
|
8726
|
+
key: "switchURL",
|
8727
|
+
value: function switchURL(url) {
|
8728
|
+
var player = this;
|
8729
|
+
player.url = url;
|
8730
|
+
player.config.url = url;
|
8731
|
+
var curTime = player.currentTime; // player.video.muted = true
|
8732
|
+
|
8733
|
+
Player__default['default'].util.addClass(player.root, 'xgplayer-is-enter');
|
8734
|
+
player.once('playing', function () {
|
8735
|
+
Player__default['default'].util.removeClass(player.root, 'xgplayer-is-enter'); // player.video.muted = false
|
8736
|
+
});
|
8737
|
+
player.once('canplay', function () {
|
8738
|
+
player.currentTime = curTime;
|
8739
|
+
player.play();
|
8740
|
+
});
|
8741
|
+
|
8742
|
+
if (_typeof(player.hls) === 'object') {
|
8743
|
+
player.hls.originUrl = url;
|
8744
|
+
}
|
8745
|
+
|
8746
|
+
player.src = url;
|
8747
|
+
}
|
8748
|
+
}, {
|
8749
|
+
key: "register",
|
8750
|
+
value: function register(url) {
|
8751
|
+
var hls = this.hls;
|
8752
|
+
var util = Player__default['default'].util;
|
8753
|
+
var player = this;
|
8754
|
+
hls.on(Hls__default['default'].Events.MEDIA_ATTACHED, function () {
|
8755
|
+
hls.loadSource(url);
|
8756
|
+
});
|
8757
|
+
hls.on(Hls__default['default'].Events.LEVEL_LOADED, function (name, e) {
|
8758
|
+
if (!hls.inited) {
|
8759
|
+
hls.inited = true;
|
8760
|
+
|
8761
|
+
if (e && e.details && e.details.live) {
|
8762
|
+
util.addClass(player.root, 'xgplayer-is-live');
|
8763
|
+
|
8764
|
+
if (!util.findDom(player.root, '.xgplayer-live')) {
|
8765
|
+
var live = util.createDom('xg-live', player.lang.LIVE || '正在直播', {}, 'xgplayer-live');
|
8766
|
+
player.controls.appendChild(live);
|
8767
|
+
}
|
8768
|
+
}
|
8769
|
+
}
|
8770
|
+
});
|
8771
|
+
hls.on(Hls__default['default'].Events.ERROR, function (event, data) {
|
8772
|
+
player.emit('HLS_ERROR', {
|
8773
|
+
errorType: data.type,
|
8774
|
+
errorDetails: data.details,
|
8775
|
+
errorFatal: data.fatal
|
8776
|
+
});
|
8777
|
+
|
8778
|
+
if (data.fatal) {
|
8779
|
+
switch (data.type) {
|
8780
|
+
case Hls__default['default'].ErrorTypes.NETWORK_ERROR:
|
8781
|
+
hls.startLoad();
|
8782
|
+
break;
|
8783
|
+
|
8784
|
+
case Hls__default['default'].ErrorTypes.MEDIA_ERROR:
|
8785
|
+
hls.recoverMediaError();
|
8786
|
+
break;
|
8787
|
+
|
8788
|
+
default:
|
8789
|
+
player.emit('error', data);
|
8790
|
+
}
|
8791
|
+
}
|
8792
|
+
});
|
8793
|
+
|
8794
|
+
this._statistics();
|
8795
|
+
}
|
8796
|
+
}, {
|
8797
|
+
key: "updateURLOnly",
|
8798
|
+
value: function updateURLOnly(url) {
|
8799
|
+
var player = this;
|
8800
|
+
var levelController = player.hls.levelController;
|
8801
|
+
|
8802
|
+
if (Array.isArray(levelController._levels) && levelController._levels.length > 0) {
|
8803
|
+
levelController._levels[0].url = [url];
|
8804
|
+
}
|
8805
|
+
|
8806
|
+
player.config.url = url;
|
8807
|
+
player.url = url;
|
8808
|
+
player.hls.originUrl = url;
|
8809
|
+
}
|
8810
|
+
}, {
|
8811
|
+
key: "_statistics",
|
8812
|
+
value: function _statistics() {
|
8813
|
+
var statsInfo = {
|
8814
|
+
speed: 0,
|
8815
|
+
playerType: "HlsPlayer"
|
8816
|
+
};
|
8817
|
+
var mediainfo = {
|
8818
|
+
videoDataRate: 0,
|
8819
|
+
audioDataRate: 0
|
8820
|
+
};
|
8821
|
+
var hls = this.hls;
|
8822
|
+
var player = this;
|
8823
|
+
hls.on(Hls__default['default'].Events.FRAG_LOAD_PROGRESS, function (flag, payload) {
|
8824
|
+
statsInfo.speed = payload.stats.loaded / 1000;
|
8825
|
+
});
|
8826
|
+
hls.on(Hls__default['default'].Events.FRAG_PARSING_DATA, function (flag, payload) {
|
8827
|
+
if (payload.type === 'video') {
|
8828
|
+
mediainfo.fps = parseInt(payload.nb / (payload.endPTS - payload.startPTS));
|
8829
|
+
}
|
8830
|
+
});
|
8831
|
+
hls.on(Hls__default['default'].Events.FRAG_PARSING_INIT_SEGMENT, function (flag, payload) {
|
8832
|
+
mediainfo.hasAudio = payload && payload.tracks && payload.tracks.audio ? true : false;
|
8833
|
+
mediainfo.hasVideo = payload && payload.tracks && payload.tracks.video ? true : false;
|
8834
|
+
|
8835
|
+
if (mediainfo.hasAudio && payload.tracks.audio) {
|
8836
|
+
var track = payload.tracks.audio;
|
8837
|
+
mediainfo.audioChannelCount = track.metadata && track.metadata.channelCount ? track.metadata.channelCount : 0;
|
8838
|
+
mediainfo.audioCodec = track.codec;
|
8839
|
+
}
|
8840
|
+
|
8841
|
+
if (mediainfo.hasVideo && payload.tracks.video) {
|
8842
|
+
var _track = payload.tracks.video;
|
8843
|
+
mediainfo.videoCodec = _track.codec;
|
8844
|
+
mediainfo.width = _track.metadata && _track.metadata.width ? _track.metadata.width : 0;
|
8845
|
+
mediainfo.height = _track.metadata && _track.metadata.height ? _track.metadata.height : 0;
|
8846
|
+
}
|
8847
|
+
|
8848
|
+
mediainfo.duration = payload.frag && payload.frag.duration ? payload.frag.duration : 0;
|
8849
|
+
mediainfo.level = payload.frag && payload.frag.level ? payload.frag.level : 0;
|
8850
|
+
|
8851
|
+
if (mediainfo.videoCodec || mediainfo.audioCodec) {
|
8852
|
+
mediainfo.mimeType = "video/hls; codecs=\"".concat(mediainfo.videoCodec, ";").concat(mediainfo.audioCodec, "\"");
|
8853
|
+
}
|
8854
|
+
|
8855
|
+
player.mediainfo = mediainfo;
|
8856
|
+
player.emit("media_info", mediainfo);
|
8857
|
+
});
|
8858
|
+
this._statisticsTimmer = setInterval(function () {
|
8859
|
+
player.emit("statistics_info", statsInfo);
|
8860
|
+
statsInfo.speed = 0;
|
8861
|
+
}, 1000);
|
8862
|
+
}
|
8863
|
+
}, {
|
8864
|
+
key: "destroy",
|
8865
|
+
value: function destroy() {
|
8866
|
+
clearInterval(this._statisticsTimmer);
|
8867
|
+
|
8868
|
+
if (this.hls) {
|
8869
|
+
this.hls.destroy();
|
8870
|
+
}
|
8871
|
+
|
8872
|
+
_get(_getPrototypeOf(HlsJsPlayer.prototype), "destroy", this).call(this);
|
8873
|
+
}
|
8874
|
+
}]);
|
8875
|
+
|
8876
|
+
return HlsJsPlayer;
|
8877
|
+
}(Player__default['default']);
|
8878
|
+
|
8879
|
+
HlsJsPlayer.isSupported = Hls__default['default'].isSupported;
|
8880
|
+
HlsJsPlayer.HlsJs = Hls__default['default'];
|
8881
|
+
|
8531
8882
|
function Xgplay(_ref, fRef) {
|
8532
8883
|
var config = _ref.config,
|
8533
8884
|
type = _ref.type,
|
@@ -8541,7 +8892,7 @@ function Xgplay(_ref, fRef) {
|
|
8541
8892
|
|
8542
8893
|
if (ref.current) {
|
8543
8894
|
if ((type === null || type === void 0 ? void 0 : type.indexOf('m3u8')) !== -1) {
|
8544
|
-
playerRef.current = new
|
8895
|
+
playerRef.current = new HlsJsPlayer(_objectSpread2({
|
8545
8896
|
el: ref.current,
|
8546
8897
|
width: '100%',
|
8547
8898
|
height: '100%',
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"private": false,
|
3
3
|
"name": "wargerm",
|
4
|
-
"version": "0.7.
|
4
|
+
"version": "0.7.46",
|
5
5
|
"scripts": {
|
6
6
|
"dev": "dumi dev",
|
7
7
|
"docs:build": "dumi build",
|
@@ -51,6 +51,7 @@
|
|
51
51
|
"dayjs": "^1.11.7",
|
52
52
|
"echarts": "^5.2.2",
|
53
53
|
"echarts-for-react": "^3.0.2",
|
54
|
+
"hls.js": "^1.4.12",
|
54
55
|
"lodash-es": "^4.17.21",
|
55
56
|
"react-countup": "^6.0.0",
|
56
57
|
"react-dom": "^17.0.2",
|
@@ -60,8 +61,7 @@
|
|
60
61
|
"xgplayer": "^2.31.2",
|
61
62
|
"xgplayer-flv": "^2.5.1",
|
62
63
|
"xgplayer-flv.js": "^2.3.0",
|
63
|
-
"xgplayer-hls": "^2.5.2"
|
64
|
-
"xgplayer-hls.js": "^2.2.2"
|
64
|
+
"xgplayer-hls": "^2.5.2"
|
65
65
|
},
|
66
66
|
"peerDependencies": {
|
67
67
|
"@ant-design/icons": ">=4.2.0",
|