ckplayer-plus 1.0.3 → 1.0.6
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/README.md +7 -11
- package/dist/ckplayer.js +204 -23
- package/dist/ckplayer.min.js +2 -2
- package/dist/index.cjs +194 -32
- package/dist/index.js +194 -32
- package/dist/react.cjs +241 -64
- package/dist/react.js +241 -64
- package/dist/vue.cjs +308 -108
- package/dist/vue.js +308 -108
- package/package.json +1 -1
- package/types/vue.d.ts +11 -0
package/dist/index.cjs
CHANGED
|
@@ -212,7 +212,7 @@ var require_ckplayer = __commonJS({
|
|
|
212
212
|
cdnFallback: true
|
|
213
213
|
// getPath 失败时是否回退到 jsDelivr(内网可设 false,并配置 pluginPath)
|
|
214
214
|
};
|
|
215
|
-
var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.0.
|
|
215
|
+
var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.0.6/dist/";
|
|
216
216
|
function ckplayerEmbed(videoObj) {
|
|
217
217
|
var rightMenu = [
|
|
218
218
|
{
|
|
@@ -237,6 +237,11 @@ var require_ckplayer = __commonJS({
|
|
|
237
237
|
var paused = true;
|
|
238
238
|
var loadTime = 0;
|
|
239
239
|
var seekTime = 0;
|
|
240
|
+
var seekRetryTimer = null;
|
|
241
|
+
var seekRetryCount = 0;
|
|
242
|
+
var seekApplyLock = false;
|
|
243
|
+
var decodeRecoverCount = 0;
|
|
244
|
+
var hlsStartPositionUsed = false;
|
|
240
245
|
var oldTime = 0, playTime = 0, firstSeekTime = -1, maxSeeTime = 0;
|
|
241
246
|
var isChangeDef = true;
|
|
242
247
|
var playType = "";
|
|
@@ -375,26 +380,34 @@ var require_ckplayer = __commonJS({
|
|
|
375
380
|
} else {
|
|
376
381
|
return embed(obj2);
|
|
377
382
|
}
|
|
383
|
+
}, isUnreliablePluginBase = function(base2) {
|
|
384
|
+
if (!base2 || valType(base2) != "string") {
|
|
385
|
+
return true;
|
|
386
|
+
}
|
|
387
|
+
return /\/(?:assets|\.vite\/deps|_next\/static|chunks?)\/?$/i.test(base2);
|
|
378
388
|
}, resolveAssetPath = function(folder, file) {
|
|
379
|
-
var
|
|
389
|
+
var base2 = "";
|
|
380
390
|
if (vars && vars["pluginPath"]) {
|
|
381
|
-
|
|
391
|
+
base2 = vars["pluginPath"];
|
|
382
392
|
} else if (typeof window !== "undefined" && window.ckplayerBasePath) {
|
|
383
|
-
|
|
393
|
+
base2 = window.ckplayerBasePath;
|
|
394
|
+
}
|
|
395
|
+
if (base2 && isUnreliablePluginBase(base2)) {
|
|
396
|
+
base2 = "";
|
|
384
397
|
}
|
|
385
|
-
if (
|
|
386
|
-
if (
|
|
387
|
-
|
|
398
|
+
if (base2) {
|
|
399
|
+
if (base2.slice(-1) !== "/") {
|
|
400
|
+
base2 += "/";
|
|
388
401
|
}
|
|
389
|
-
return
|
|
402
|
+
return base2 + folder + "/" + file;
|
|
390
403
|
}
|
|
391
404
|
var fromScript = getPath(folder) + file;
|
|
392
|
-
if (fromScript && fromScript.indexOf(folder + "/") > -1 && fromScript.indexOf("undefined") === -1) {
|
|
405
|
+
if (fromScript && fromScript.indexOf(folder + "/") > -1 && fromScript.indexOf("undefined") === -1 && !isUnreliablePluginBase(getPath())) {
|
|
393
406
|
return fromScript;
|
|
394
407
|
}
|
|
395
408
|
var allowCdn = !vars || vars["cdnFallback"] !== false;
|
|
396
409
|
var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
|
|
397
|
-
if (!allowCdn || !cdn || cdn.indexOf("1.0.
|
|
410
|
+
if (!allowCdn || !cdn || cdn.indexOf("1.0.6") > -1) {
|
|
398
411
|
return folder + "/" + file;
|
|
399
412
|
}
|
|
400
413
|
if (cdn.slice(-1) !== "/") {
|
|
@@ -708,11 +721,24 @@ var require_ckplayer = __commonJS({
|
|
|
708
721
|
}, hlsPlayer = function(url) {
|
|
709
722
|
var startHls = function() {
|
|
710
723
|
if (typeof Hls !== "undefined" && !isUndefined(Hls) && Hls.isSupported()) {
|
|
711
|
-
|
|
724
|
+
var hlsConf = {};
|
|
725
|
+
if (seekTime && seekTime > 0 && (isUndefined(vars["live"]) || !vars["live"])) {
|
|
726
|
+
hlsConf.startPosition = seekTime;
|
|
727
|
+
maxSeeTime = Math.max(maxSeeTime, seekTime);
|
|
728
|
+
if (firstSeekTime < 0) {
|
|
729
|
+
firstSeekTime = seekTime;
|
|
730
|
+
}
|
|
731
|
+
seekTime = 0;
|
|
732
|
+
hlsStartPositionUsed = true;
|
|
733
|
+
clearSeekRetry();
|
|
734
|
+
}
|
|
735
|
+
hls = new Hls(hlsConf);
|
|
712
736
|
hls.loadSource(url);
|
|
713
737
|
hls.attachMedia(video);
|
|
714
738
|
hls.on(Hls.Events.MANIFEST_PARSED, function() {
|
|
715
|
-
|
|
739
|
+
if (!hlsStartPositionUsed) {
|
|
740
|
+
applyPendingSeek();
|
|
741
|
+
}
|
|
716
742
|
});
|
|
717
743
|
hls.on(Hls.Events.ERROR, function(event2, data) {
|
|
718
744
|
var code = 9;
|
|
@@ -730,6 +756,13 @@ var require_ckplayer = __commonJS({
|
|
|
730
756
|
}
|
|
731
757
|
}
|
|
732
758
|
}
|
|
759
|
+
if (fatal && data.type === Hls.ErrorTypes.MEDIA_ERROR && hls && typeof hls.recoverMediaError === "function") {
|
|
760
|
+
try {
|
|
761
|
+
hls.recoverMediaError();
|
|
762
|
+
fatal = false;
|
|
763
|
+
} catch (errRecover) {
|
|
764
|
+
}
|
|
765
|
+
}
|
|
733
766
|
CT.error = { code, message: message2 };
|
|
734
767
|
eventTarget("error", CT.error);
|
|
735
768
|
if (fatal) {
|
|
@@ -1411,8 +1444,28 @@ var require_ckplayer = __commonJS({
|
|
|
1411
1444
|
checkTrack();
|
|
1412
1445
|
}
|
|
1413
1446
|
}
|
|
1414
|
-
},
|
|
1415
|
-
if (!
|
|
1447
|
+
}, timeInBuffered = function(t) {
|
|
1448
|
+
if (!video || isUndefined(video.buffered)) {
|
|
1449
|
+
return false;
|
|
1450
|
+
}
|
|
1451
|
+
try {
|
|
1452
|
+
var buf = video.buffered;
|
|
1453
|
+
for (var i2 = 0; i2 < buf.length; i2++) {
|
|
1454
|
+
if (t >= buf.start(i2) - 0.35 && t <= buf.end(i2) + 0.15) {
|
|
1455
|
+
return true;
|
|
1456
|
+
}
|
|
1457
|
+
}
|
|
1458
|
+
} catch (event2) {
|
|
1459
|
+
}
|
|
1460
|
+
return false;
|
|
1461
|
+
}, clearSeekRetry = function() {
|
|
1462
|
+
if (seekRetryTimer) {
|
|
1463
|
+
clearTimeout(seekRetryTimer);
|
|
1464
|
+
seekRetryTimer = null;
|
|
1465
|
+
}
|
|
1466
|
+
seekRetryCount = 0;
|
|
1467
|
+
}, applyPendingSeek = function(force) {
|
|
1468
|
+
if (!seekTime || !video || seekApplyLock) {
|
|
1416
1469
|
return;
|
|
1417
1470
|
}
|
|
1418
1471
|
if (!isUndefined(vars["live"]) && (valType(vars["live"]) == "boolean" && vars["live"] || valType(vars["live"]) == "number")) {
|
|
@@ -1423,18 +1476,92 @@ var require_ckplayer = __commonJS({
|
|
|
1423
1476
|
if (dur && isFinite(dur) && dur > 0 && t >= dur) {
|
|
1424
1477
|
t = Math.max(0, dur - 0.3);
|
|
1425
1478
|
}
|
|
1479
|
+
if (t <= 0) {
|
|
1480
|
+
seekTime = 0;
|
|
1481
|
+
clearSeekRetry();
|
|
1482
|
+
return;
|
|
1483
|
+
}
|
|
1484
|
+
var readyEnough = !isUndefined(video.readyState) && video.readyState >= 2;
|
|
1485
|
+
var bufferedOk = timeInBuffered(t);
|
|
1486
|
+
if (!force && !bufferedOk && (!readyEnough || video.readyState < 3)) {
|
|
1487
|
+
seekRetryCount++;
|
|
1488
|
+
if (seekRetryCount <= 50) {
|
|
1489
|
+
try {
|
|
1490
|
+
if (hls && typeof hls.startLoad === "function") {
|
|
1491
|
+
hls.startLoad(t);
|
|
1492
|
+
}
|
|
1493
|
+
} catch (event2) {
|
|
1494
|
+
}
|
|
1495
|
+
if (seekRetryTimer) {
|
|
1496
|
+
clearTimeout(seekRetryTimer);
|
|
1497
|
+
}
|
|
1498
|
+
seekRetryTimer = setTimeout(function() {
|
|
1499
|
+
applyPendingSeek(false);
|
|
1500
|
+
}, 200);
|
|
1501
|
+
return;
|
|
1502
|
+
}
|
|
1503
|
+
}
|
|
1504
|
+
clearSeekRetry();
|
|
1426
1505
|
if (t > 0) {
|
|
1427
1506
|
maxSeeTime = Math.max(maxSeeTime, t);
|
|
1428
1507
|
if (firstSeekTime < 0) {
|
|
1429
1508
|
firstSeekTime = t;
|
|
1430
1509
|
}
|
|
1431
1510
|
}
|
|
1511
|
+
seekApplyLock = true;
|
|
1432
1512
|
seekTime = 0;
|
|
1433
1513
|
try {
|
|
1434
1514
|
video.currentTime = t;
|
|
1435
1515
|
} catch (event2) {
|
|
1436
1516
|
seekTime = t;
|
|
1517
|
+
seekApplyLock = false;
|
|
1518
|
+
}
|
|
1519
|
+
setTimeout(function() {
|
|
1520
|
+
seekApplyLock = false;
|
|
1521
|
+
}, 800);
|
|
1522
|
+
}, recoverDecodeError = function() {
|
|
1523
|
+
if (decodeRecoverCount >= 2) {
|
|
1524
|
+
return false;
|
|
1525
|
+
}
|
|
1526
|
+
decodeRecoverCount++;
|
|
1527
|
+
var resumeAt = playTime > 0 ? playTime : vars["seek"] ? parseFloat(vars["seek"]) : 0;
|
|
1528
|
+
if (isNaN(resumeAt) || resumeAt < 0) {
|
|
1529
|
+
resumeAt = 0;
|
|
1437
1530
|
}
|
|
1531
|
+
try {
|
|
1532
|
+
if (hls && typeof hls.recoverMediaError === "function") {
|
|
1533
|
+
hls.recoverMediaError();
|
|
1534
|
+
if (resumeAt > 0) {
|
|
1535
|
+
seekTime = resumeAt;
|
|
1536
|
+
seekApplyLock = false;
|
|
1537
|
+
setTimeout(function() {
|
|
1538
|
+
applyPendingSeek(true);
|
|
1539
|
+
}, 300);
|
|
1540
|
+
}
|
|
1541
|
+
return true;
|
|
1542
|
+
}
|
|
1543
|
+
} catch (event2) {
|
|
1544
|
+
}
|
|
1545
|
+
try {
|
|
1546
|
+
var soft = Math.max(0, resumeAt - 1.5);
|
|
1547
|
+
seekTime = resumeAt;
|
|
1548
|
+
seekApplyLock = false;
|
|
1549
|
+
if (video) {
|
|
1550
|
+
video.currentTime = soft;
|
|
1551
|
+
}
|
|
1552
|
+
setTimeout(function() {
|
|
1553
|
+
applyPendingSeek(true);
|
|
1554
|
+
if (video && video.paused && vars["autoplay"]) {
|
|
1555
|
+
try {
|
|
1556
|
+
video.play();
|
|
1557
|
+
} catch (e2) {
|
|
1558
|
+
}
|
|
1559
|
+
}
|
|
1560
|
+
}, 400);
|
|
1561
|
+
return true;
|
|
1562
|
+
} catch (event2) {
|
|
1563
|
+
}
|
|
1564
|
+
return false;
|
|
1438
1565
|
}, loadedMetaData = function() {
|
|
1439
1566
|
eventTarget("loadedMetaData", {
|
|
1440
1567
|
width: CK.getWidth(),
|
|
@@ -1611,6 +1738,11 @@ var require_ckplayer = __commonJS({
|
|
|
1611
1738
|
if (!isUndefined(errorInfo.message)) {
|
|
1612
1739
|
msg = errorInfo.message;
|
|
1613
1740
|
}
|
|
1741
|
+
if (code === 3 && recoverDecodeError()) {
|
|
1742
|
+
CT.error = { code, message: msg };
|
|
1743
|
+
eventTarget("error", CT.error);
|
|
1744
|
+
return;
|
|
1745
|
+
}
|
|
1614
1746
|
CT.error = { code, message: msg };
|
|
1615
1747
|
showError();
|
|
1616
1748
|
} else {
|
|
@@ -1660,6 +1792,8 @@ var require_ckplayer = __commonJS({
|
|
|
1660
1792
|
eventTarget("error", CT.error);
|
|
1661
1793
|
},
|
|
1662
1794
|
seeked: function() {
|
|
1795
|
+
seekApplyLock = false;
|
|
1796
|
+
decodeRecoverCount = 0;
|
|
1663
1797
|
if (paused) {
|
|
1664
1798
|
player.play();
|
|
1665
1799
|
}
|
|
@@ -2611,10 +2745,6 @@ var require_ckplayer = __commonJS({
|
|
|
2611
2745
|
firstSeekTime = target;
|
|
2612
2746
|
}
|
|
2613
2747
|
}
|
|
2614
|
-
try {
|
|
2615
|
-
video.currentTime = target;
|
|
2616
|
-
} catch (event2) {
|
|
2617
|
-
}
|
|
2618
2748
|
return player;
|
|
2619
2749
|
}
|
|
2620
2750
|
if (duration && isFinite(duration) && duration > 0 && target > duration) {
|
|
@@ -2626,6 +2756,11 @@ var require_ckplayer = __commonJS({
|
|
|
2626
2756
|
if (vars["timeScheduleAdjust"] == 5 && target > maxSeeTime && seekTime && Math.abs(seekTime - target) < 0.5) {
|
|
2627
2757
|
maxSeeTime = Math.max(maxSeeTime, target);
|
|
2628
2758
|
}
|
|
2759
|
+
if (target > 0.5 && !timeInBuffered(target) && video.readyState < 3) {
|
|
2760
|
+
seekTime = target;
|
|
2761
|
+
applyPendingSeek(false);
|
|
2762
|
+
return player;
|
|
2763
|
+
}
|
|
2629
2764
|
try {
|
|
2630
2765
|
video.currentTime = target;
|
|
2631
2766
|
seekTime = 0;
|
|
@@ -5785,7 +5920,7 @@ var require_ckplayer = __commonJS({
|
|
|
5785
5920
|
}
|
|
5786
5921
|
varsTime += time;
|
|
5787
5922
|
return language["lookBack"] + date("H:i:s", varsTime);
|
|
5788
|
-
}, loadJs = function(file, callback2) {
|
|
5923
|
+
}, loadJs = function(file, callback2, isRetry) {
|
|
5789
5924
|
var fn2 = function() {
|
|
5790
5925
|
};
|
|
5791
5926
|
if (!isUndefined(callback2)) {
|
|
@@ -5820,19 +5955,37 @@ var require_ckplayer = __commonJS({
|
|
|
5820
5955
|
;
|
|
5821
5956
|
}, 10);
|
|
5822
5957
|
};
|
|
5823
|
-
var
|
|
5824
|
-
|
|
5825
|
-
|
|
5958
|
+
var removeScript = function() {
|
|
5959
|
+
try {
|
|
5960
|
+
if (script.parentNode) {
|
|
5961
|
+
script.parentNode.removeChild(script);
|
|
5962
|
+
}
|
|
5963
|
+
} catch (event2) {
|
|
5826
5964
|
}
|
|
5965
|
+
};
|
|
5966
|
+
var w3c = function() {
|
|
5827
5967
|
removeListener(script, "load", w3c);
|
|
5828
5968
|
removeListener(script, "error", w3cError);
|
|
5969
|
+
doReady();
|
|
5829
5970
|
};
|
|
5830
5971
|
var w3cError = function() {
|
|
5831
|
-
if (valType(fn2) == "function") {
|
|
5832
|
-
fn2();
|
|
5833
|
-
}
|
|
5834
5972
|
removeListener(script, "load", w3c);
|
|
5835
5973
|
removeListener(script, "error", w3cError);
|
|
5974
|
+
removeScript();
|
|
5975
|
+
if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
|
|
5976
|
+
var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
|
|
5977
|
+
var m2 = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
|
|
5978
|
+
if (cdn && cdn.indexOf("1.0.6") === -1 && m2) {
|
|
5979
|
+
if (cdn.slice(-1) !== "/") {
|
|
5980
|
+
cdn += "/";
|
|
5981
|
+
}
|
|
5982
|
+
var retryUrl = cdn + m2[1] + "/" + m2[2];
|
|
5983
|
+
if (retryUrl !== file) {
|
|
5984
|
+
loadJs(retryUrl, callback2, true);
|
|
5985
|
+
return;
|
|
5986
|
+
}
|
|
5987
|
+
}
|
|
5988
|
+
}
|
|
5836
5989
|
};
|
|
5837
5990
|
try {
|
|
5838
5991
|
addListener(script, "load", w3c);
|
|
@@ -6058,14 +6211,19 @@ var require_ckplayer = __commonJS({
|
|
|
6058
6211
|
}
|
|
6059
6212
|
function getPath(siz) {
|
|
6060
6213
|
if (typeof window !== "undefined" && window.ckplayerBasePath) {
|
|
6061
|
-
var
|
|
6062
|
-
if (
|
|
6063
|
-
|
|
6214
|
+
var base2 = window.ckplayerBasePath;
|
|
6215
|
+
if (/\/(?:assets|\.vite\/deps|_next\/static|chunks?)\/?$/i.test(base2)) {
|
|
6216
|
+
base2 = "";
|
|
6064
6217
|
}
|
|
6065
|
-
if (
|
|
6066
|
-
|
|
6218
|
+
if (base2) {
|
|
6219
|
+
if (base2.slice(-1) !== "/") {
|
|
6220
|
+
base2 += "/";
|
|
6221
|
+
}
|
|
6222
|
+
if (!isUndefined(siz)) {
|
|
6223
|
+
return base2 + siz + "/";
|
|
6224
|
+
}
|
|
6225
|
+
return base2;
|
|
6067
6226
|
}
|
|
6068
|
-
return base;
|
|
6069
6227
|
}
|
|
6070
6228
|
var scriptList = document.scripts || [], thisPath = scriptList.length ? scriptList[scriptList.length - 1].src : "";
|
|
6071
6229
|
for (var i2 = 0; i2 < scriptList.length; i2++) {
|
|
@@ -6583,10 +6741,14 @@ var import_ckplayer = __toESM(require_ckplayer());
|
|
|
6583
6741
|
var import_meta = {};
|
|
6584
6742
|
try {
|
|
6585
6743
|
if (typeof window !== "undefined" && !window.ckplayerBasePath) {
|
|
6586
|
-
|
|
6744
|
+
base = new URL("./", import_meta.url).href;
|
|
6745
|
+
if (/\/dist\/$/i.test(base) || /\/ckplayer-plus(?:@[^/]+)?\/(?:dist\/)?$/i.test(base) || /\/node_modules\/ckplayer-plus\/(?:dist\/)?$/i.test(base)) {
|
|
6746
|
+
window.ckplayerBasePath = base;
|
|
6747
|
+
}
|
|
6587
6748
|
}
|
|
6588
6749
|
} catch (e) {
|
|
6589
6750
|
}
|
|
6751
|
+
var base;
|
|
6590
6752
|
function guessPlug2(url) {
|
|
6591
6753
|
if (!url || typeof url !== "string") return "";
|
|
6592
6754
|
var path = url.split("?")[0].split("#")[0].toLowerCase();
|