ckplayer-plus 1.0.7 → 1.0.8
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/ckplayer.js +72 -16
- package/dist/ckplayer.min.js +2 -2
- package/dist/index.cjs +60 -15
- package/dist/index.js +60 -15
- package/dist/react.cjs +63 -15
- package/dist/react.js +63 -15
- package/dist/vue.cjs +70 -15
- package/dist/vue.js +70 -15
- package/package.json +1 -1
- package/types/vue.d.ts +2 -0
package/dist/vue.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.8/dist/";
|
|
216
216
|
function ckplayerEmbed(videoObj) {
|
|
217
217
|
var rightMenu = [
|
|
218
218
|
{
|
|
@@ -242,6 +242,9 @@ var require_ckplayer = __commonJS({
|
|
|
242
242
|
var seekApplyLock = false;
|
|
243
243
|
var decodeRecoverCount = 0;
|
|
244
244
|
var hlsStartPositionUsed = false;
|
|
245
|
+
var hlsResumeTarget = -1;
|
|
246
|
+
var hlsLoadAt = -1;
|
|
247
|
+
var hlsLoadTs = 0;
|
|
245
248
|
var oldTime = 0, playTime = 0, firstSeekTime = -1, maxSeeTime = 0;
|
|
246
249
|
var isChangeDef = true;
|
|
247
250
|
var playType = "";
|
|
@@ -407,7 +410,7 @@ var require_ckplayer = __commonJS({
|
|
|
407
410
|
}
|
|
408
411
|
var allowCdn = !vars || vars["cdnFallback"] !== false;
|
|
409
412
|
var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
|
|
410
|
-
if (!allowCdn || !cdn || cdn.indexOf("1.0.
|
|
413
|
+
if (!allowCdn || !cdn || cdn.indexOf("1.0.8") > -1) {
|
|
411
414
|
return folder + "/" + file;
|
|
412
415
|
}
|
|
413
416
|
if (cdn.slice(-1) !== "/") {
|
|
@@ -618,10 +621,44 @@ var require_ckplayer = __commonJS({
|
|
|
618
621
|
if (!seekTime) {
|
|
619
622
|
applyResumeSeekState(parseResumeSeekFromVars());
|
|
620
623
|
}
|
|
624
|
+
}, hlsSeekTo = function(target, force) {
|
|
625
|
+
if (!hls || typeof hls.startLoad !== "function" || !video) {
|
|
626
|
+
return false;
|
|
627
|
+
}
|
|
628
|
+
if (isNaN(target) || target < 0) {
|
|
629
|
+
target = 0;
|
|
630
|
+
}
|
|
631
|
+
var curTime = video.currentTime || 0;
|
|
632
|
+
if (!force) {
|
|
633
|
+
if (hlsResumeTarget >= 0 && Math.abs(hlsResumeTarget - target) < 1.5) {
|
|
634
|
+
if (timeInBuffered(target) && Math.abs(curTime - target) < 2.5) {
|
|
635
|
+
return true;
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
if (timeInBuffered(target) && Math.abs(curTime - target) < 1.5) {
|
|
639
|
+
hlsResumeTarget = target;
|
|
640
|
+
return true;
|
|
641
|
+
}
|
|
642
|
+
if (hlsLoadAt >= 0 && Math.abs(hlsLoadAt - target) < 1.5 && Date.now() - hlsLoadTs < 4e3) {
|
|
643
|
+
return true;
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
hlsLoadAt = target;
|
|
647
|
+
hlsLoadTs = Date.now();
|
|
648
|
+
hlsResumeTarget = target;
|
|
649
|
+
try {
|
|
650
|
+
hls.startLoad(target);
|
|
651
|
+
} catch (event2) {
|
|
652
|
+
return false;
|
|
653
|
+
}
|
|
654
|
+
return true;
|
|
621
655
|
}, destroyStreamPlayers = function() {
|
|
622
656
|
clearSeekRetry();
|
|
623
657
|
seekApplyLock = false;
|
|
624
658
|
hlsStartPositionUsed = false;
|
|
659
|
+
hlsResumeTarget = -1;
|
|
660
|
+
hlsLoadAt = -1;
|
|
661
|
+
hlsLoadTs = 0;
|
|
625
662
|
decodeRecoverCount = 0;
|
|
626
663
|
if (hls) {
|
|
627
664
|
try {
|
|
@@ -780,6 +817,9 @@ var require_ckplayer = __commonJS({
|
|
|
780
817
|
if (firstSeekTime < 0) {
|
|
781
818
|
firstSeekTime = resumeAt;
|
|
782
819
|
}
|
|
820
|
+
hlsResumeTarget = resumeAt;
|
|
821
|
+
hlsLoadAt = resumeAt;
|
|
822
|
+
hlsLoadTs = Date.now();
|
|
783
823
|
seekTime = 0;
|
|
784
824
|
hlsStartPositionUsed = true;
|
|
785
825
|
clearSeekRetry();
|
|
@@ -792,6 +832,21 @@ var require_ckplayer = __commonJS({
|
|
|
792
832
|
applyPendingSeek();
|
|
793
833
|
}
|
|
794
834
|
});
|
|
835
|
+
hls.on(Hls.Events.FRAG_BUFFERED, function(event2, data) {
|
|
836
|
+
if (hlsResumeTarget <= 0 || !data || !data.frag) {
|
|
837
|
+
return;
|
|
838
|
+
}
|
|
839
|
+
var fragStart = data.frag.start;
|
|
840
|
+
var fragEnd = fragStart + data.frag.duration;
|
|
841
|
+
if (hlsResumeTarget >= fragStart - 0.5 && hlsResumeTarget <= fragEnd + 0.5) {
|
|
842
|
+
if (!waited) {
|
|
843
|
+
waited = true;
|
|
844
|
+
if (C["buffer"]) {
|
|
845
|
+
C["buffer"].hide();
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
});
|
|
795
850
|
hls.on(Hls.Events.ERROR, function(event2, data) {
|
|
796
851
|
var code = 9;
|
|
797
852
|
var message2 = language["error"]["loadingFailed"];
|
|
@@ -1539,14 +1594,9 @@ var require_ckplayer = __commonJS({
|
|
|
1539
1594
|
firstSeekTime = t;
|
|
1540
1595
|
}
|
|
1541
1596
|
}
|
|
1542
|
-
if (
|
|
1597
|
+
if (hlsSeekTo(t, !!force)) {
|
|
1543
1598
|
clearSeekRetry();
|
|
1544
1599
|
seekTime = 0;
|
|
1545
|
-
try {
|
|
1546
|
-
hls.startLoad(t);
|
|
1547
|
-
} catch (event2) {
|
|
1548
|
-
seekTime = t;
|
|
1549
|
-
}
|
|
1550
1600
|
return;
|
|
1551
1601
|
}
|
|
1552
1602
|
var readyEnough = !isUndefined(video.readyState) && video.readyState >= 2;
|
|
@@ -2818,13 +2868,8 @@ var require_ckplayer = __commonJS({
|
|
|
2818
2868
|
applyPendingSeek(false);
|
|
2819
2869
|
return player;
|
|
2820
2870
|
}
|
|
2821
|
-
if (
|
|
2871
|
+
if (hlsSeekTo(target, false)) {
|
|
2822
2872
|
seekTime = 0;
|
|
2823
|
-
try {
|
|
2824
|
-
hls.startLoad(target);
|
|
2825
|
-
} catch (event2) {
|
|
2826
|
-
seekTime = target;
|
|
2827
|
-
}
|
|
2828
2873
|
return player;
|
|
2829
2874
|
}
|
|
2830
2875
|
try {
|
|
@@ -6041,7 +6086,7 @@ var require_ckplayer = __commonJS({
|
|
|
6041
6086
|
if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
|
|
6042
6087
|
var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
|
|
6043
6088
|
var m2 = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
|
|
6044
|
-
if (cdn && cdn.indexOf("1.0.
|
|
6089
|
+
if (cdn && cdn.indexOf("1.0.8") === -1 && m2) {
|
|
6045
6090
|
if (cdn.slice(-1) !== "/") {
|
|
6046
6091
|
cdn += "/";
|
|
6047
6092
|
}
|
|
@@ -6842,6 +6887,9 @@ function buildPlayerConfig(input) {
|
|
|
6842
6887
|
if (input.pluginPath) {
|
|
6843
6888
|
config.pluginPath = input.pluginPath;
|
|
6844
6889
|
}
|
|
6890
|
+
if (input.seek != null && input.seek !== "" && !isNaN(parseFloat(input.seek)) && parseFloat(input.seek) > 0) {
|
|
6891
|
+
config.seek = parseFloat(input.seek);
|
|
6892
|
+
}
|
|
6845
6893
|
for (var key in opts) {
|
|
6846
6894
|
if (Object.prototype.hasOwnProperty.call(opts, key) && key !== "container") {
|
|
6847
6895
|
config[key] = opts[key];
|
|
@@ -6867,6 +6915,8 @@ var CkPlayer = {
|
|
|
6867
6915
|
autoPlug: { type: Boolean, default: true },
|
|
6868
6916
|
volume: { type: Number, default: 0.8 },
|
|
6869
6917
|
pluginPath: { type: String, default: "" },
|
|
6918
|
+
/** 续播秒数;请在创建时传入,不要在 onReady 里再 player.seek 同一时间点 */
|
|
6919
|
+
seek: { default: 0 },
|
|
6870
6920
|
options: { type: Object, default: function() {
|
|
6871
6921
|
return {};
|
|
6872
6922
|
} },
|
|
@@ -6908,6 +6958,10 @@ var CkPlayer = {
|
|
|
6908
6958
|
pluginPath: function() {
|
|
6909
6959
|
this.reinit();
|
|
6910
6960
|
},
|
|
6961
|
+
seek: function(val) {
|
|
6962
|
+
if (!this.player || val == null || val === "" || isNaN(parseFloat(val)) || parseFloat(val) <= 0) return;
|
|
6963
|
+
this.player.seek(parseFloat(val));
|
|
6964
|
+
},
|
|
6911
6965
|
volume: function(vol) {
|
|
6912
6966
|
if (this.player && typeof this.player.volume === "function" && typeof vol === "number") {
|
|
6913
6967
|
this.player.volume(vol);
|
|
@@ -6926,6 +6980,7 @@ var CkPlayer = {
|
|
|
6926
6980
|
autoPlug: this.autoPlug,
|
|
6927
6981
|
volume: this.volume,
|
|
6928
6982
|
pluginPath: this.pluginPath,
|
|
6983
|
+
seek: this.seek,
|
|
6929
6984
|
options: this.options,
|
|
6930
6985
|
cookie: this.instanceId
|
|
6931
6986
|
});
|
package/dist/vue.js
CHANGED
|
@@ -207,7 +207,7 @@ var require_ckplayer = __commonJS({
|
|
|
207
207
|
cdnFallback: true
|
|
208
208
|
// getPath 失败时是否回退到 jsDelivr(内网可设 false,并配置 pluginPath)
|
|
209
209
|
};
|
|
210
|
-
var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.0.
|
|
210
|
+
var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.0.8/dist/";
|
|
211
211
|
function ckplayerEmbed(videoObj) {
|
|
212
212
|
var rightMenu = [
|
|
213
213
|
{
|
|
@@ -237,6 +237,9 @@ var require_ckplayer = __commonJS({
|
|
|
237
237
|
var seekApplyLock = false;
|
|
238
238
|
var decodeRecoverCount = 0;
|
|
239
239
|
var hlsStartPositionUsed = false;
|
|
240
|
+
var hlsResumeTarget = -1;
|
|
241
|
+
var hlsLoadAt = -1;
|
|
242
|
+
var hlsLoadTs = 0;
|
|
240
243
|
var oldTime = 0, playTime = 0, firstSeekTime = -1, maxSeeTime = 0;
|
|
241
244
|
var isChangeDef = true;
|
|
242
245
|
var playType = "";
|
|
@@ -402,7 +405,7 @@ var require_ckplayer = __commonJS({
|
|
|
402
405
|
}
|
|
403
406
|
var allowCdn = !vars || vars["cdnFallback"] !== false;
|
|
404
407
|
var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
|
|
405
|
-
if (!allowCdn || !cdn || cdn.indexOf("1.0.
|
|
408
|
+
if (!allowCdn || !cdn || cdn.indexOf("1.0.8") > -1) {
|
|
406
409
|
return folder + "/" + file;
|
|
407
410
|
}
|
|
408
411
|
if (cdn.slice(-1) !== "/") {
|
|
@@ -613,10 +616,44 @@ var require_ckplayer = __commonJS({
|
|
|
613
616
|
if (!seekTime) {
|
|
614
617
|
applyResumeSeekState(parseResumeSeekFromVars());
|
|
615
618
|
}
|
|
619
|
+
}, hlsSeekTo = function(target, force) {
|
|
620
|
+
if (!hls || typeof hls.startLoad !== "function" || !video) {
|
|
621
|
+
return false;
|
|
622
|
+
}
|
|
623
|
+
if (isNaN(target) || target < 0) {
|
|
624
|
+
target = 0;
|
|
625
|
+
}
|
|
626
|
+
var curTime = video.currentTime || 0;
|
|
627
|
+
if (!force) {
|
|
628
|
+
if (hlsResumeTarget >= 0 && Math.abs(hlsResumeTarget - target) < 1.5) {
|
|
629
|
+
if (timeInBuffered(target) && Math.abs(curTime - target) < 2.5) {
|
|
630
|
+
return true;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
if (timeInBuffered(target) && Math.abs(curTime - target) < 1.5) {
|
|
634
|
+
hlsResumeTarget = target;
|
|
635
|
+
return true;
|
|
636
|
+
}
|
|
637
|
+
if (hlsLoadAt >= 0 && Math.abs(hlsLoadAt - target) < 1.5 && Date.now() - hlsLoadTs < 4e3) {
|
|
638
|
+
return true;
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
hlsLoadAt = target;
|
|
642
|
+
hlsLoadTs = Date.now();
|
|
643
|
+
hlsResumeTarget = target;
|
|
644
|
+
try {
|
|
645
|
+
hls.startLoad(target);
|
|
646
|
+
} catch (event2) {
|
|
647
|
+
return false;
|
|
648
|
+
}
|
|
649
|
+
return true;
|
|
616
650
|
}, destroyStreamPlayers = function() {
|
|
617
651
|
clearSeekRetry();
|
|
618
652
|
seekApplyLock = false;
|
|
619
653
|
hlsStartPositionUsed = false;
|
|
654
|
+
hlsResumeTarget = -1;
|
|
655
|
+
hlsLoadAt = -1;
|
|
656
|
+
hlsLoadTs = 0;
|
|
620
657
|
decodeRecoverCount = 0;
|
|
621
658
|
if (hls) {
|
|
622
659
|
try {
|
|
@@ -775,6 +812,9 @@ var require_ckplayer = __commonJS({
|
|
|
775
812
|
if (firstSeekTime < 0) {
|
|
776
813
|
firstSeekTime = resumeAt;
|
|
777
814
|
}
|
|
815
|
+
hlsResumeTarget = resumeAt;
|
|
816
|
+
hlsLoadAt = resumeAt;
|
|
817
|
+
hlsLoadTs = Date.now();
|
|
778
818
|
seekTime = 0;
|
|
779
819
|
hlsStartPositionUsed = true;
|
|
780
820
|
clearSeekRetry();
|
|
@@ -787,6 +827,21 @@ var require_ckplayer = __commonJS({
|
|
|
787
827
|
applyPendingSeek();
|
|
788
828
|
}
|
|
789
829
|
});
|
|
830
|
+
hls.on(Hls.Events.FRAG_BUFFERED, function(event2, data) {
|
|
831
|
+
if (hlsResumeTarget <= 0 || !data || !data.frag) {
|
|
832
|
+
return;
|
|
833
|
+
}
|
|
834
|
+
var fragStart = data.frag.start;
|
|
835
|
+
var fragEnd = fragStart + data.frag.duration;
|
|
836
|
+
if (hlsResumeTarget >= fragStart - 0.5 && hlsResumeTarget <= fragEnd + 0.5) {
|
|
837
|
+
if (!waited) {
|
|
838
|
+
waited = true;
|
|
839
|
+
if (C["buffer"]) {
|
|
840
|
+
C["buffer"].hide();
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
});
|
|
790
845
|
hls.on(Hls.Events.ERROR, function(event2, data) {
|
|
791
846
|
var code = 9;
|
|
792
847
|
var message2 = language["error"]["loadingFailed"];
|
|
@@ -1534,14 +1589,9 @@ var require_ckplayer = __commonJS({
|
|
|
1534
1589
|
firstSeekTime = t;
|
|
1535
1590
|
}
|
|
1536
1591
|
}
|
|
1537
|
-
if (
|
|
1592
|
+
if (hlsSeekTo(t, !!force)) {
|
|
1538
1593
|
clearSeekRetry();
|
|
1539
1594
|
seekTime = 0;
|
|
1540
|
-
try {
|
|
1541
|
-
hls.startLoad(t);
|
|
1542
|
-
} catch (event2) {
|
|
1543
|
-
seekTime = t;
|
|
1544
|
-
}
|
|
1545
1595
|
return;
|
|
1546
1596
|
}
|
|
1547
1597
|
var readyEnough = !isUndefined(video.readyState) && video.readyState >= 2;
|
|
@@ -2813,13 +2863,8 @@ var require_ckplayer = __commonJS({
|
|
|
2813
2863
|
applyPendingSeek(false);
|
|
2814
2864
|
return player;
|
|
2815
2865
|
}
|
|
2816
|
-
if (
|
|
2866
|
+
if (hlsSeekTo(target, false)) {
|
|
2817
2867
|
seekTime = 0;
|
|
2818
|
-
try {
|
|
2819
|
-
hls.startLoad(target);
|
|
2820
|
-
} catch (event2) {
|
|
2821
|
-
seekTime = target;
|
|
2822
|
-
}
|
|
2823
2868
|
return player;
|
|
2824
2869
|
}
|
|
2825
2870
|
try {
|
|
@@ -6036,7 +6081,7 @@ var require_ckplayer = __commonJS({
|
|
|
6036
6081
|
if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
|
|
6037
6082
|
var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
|
|
6038
6083
|
var m2 = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
|
|
6039
|
-
if (cdn && cdn.indexOf("1.0.
|
|
6084
|
+
if (cdn && cdn.indexOf("1.0.8") === -1 && m2) {
|
|
6040
6085
|
if (cdn.slice(-1) !== "/") {
|
|
6041
6086
|
cdn += "/";
|
|
6042
6087
|
}
|
|
@@ -6829,6 +6874,9 @@ function buildPlayerConfig(input) {
|
|
|
6829
6874
|
if (input.pluginPath) {
|
|
6830
6875
|
config.pluginPath = input.pluginPath;
|
|
6831
6876
|
}
|
|
6877
|
+
if (input.seek != null && input.seek !== "" && !isNaN(parseFloat(input.seek)) && parseFloat(input.seek) > 0) {
|
|
6878
|
+
config.seek = parseFloat(input.seek);
|
|
6879
|
+
}
|
|
6832
6880
|
for (var key in opts) {
|
|
6833
6881
|
if (Object.prototype.hasOwnProperty.call(opts, key) && key !== "container") {
|
|
6834
6882
|
config[key] = opts[key];
|
|
@@ -6854,6 +6902,8 @@ var CkPlayer = {
|
|
|
6854
6902
|
autoPlug: { type: Boolean, default: true },
|
|
6855
6903
|
volume: { type: Number, default: 0.8 },
|
|
6856
6904
|
pluginPath: { type: String, default: "" },
|
|
6905
|
+
/** 续播秒数;请在创建时传入,不要在 onReady 里再 player.seek 同一时间点 */
|
|
6906
|
+
seek: { default: 0 },
|
|
6857
6907
|
options: { type: Object, default: function() {
|
|
6858
6908
|
return {};
|
|
6859
6909
|
} },
|
|
@@ -6895,6 +6945,10 @@ var CkPlayer = {
|
|
|
6895
6945
|
pluginPath: function() {
|
|
6896
6946
|
this.reinit();
|
|
6897
6947
|
},
|
|
6948
|
+
seek: function(val) {
|
|
6949
|
+
if (!this.player || val == null || val === "" || isNaN(parseFloat(val)) || parseFloat(val) <= 0) return;
|
|
6950
|
+
this.player.seek(parseFloat(val));
|
|
6951
|
+
},
|
|
6898
6952
|
volume: function(vol) {
|
|
6899
6953
|
if (this.player && typeof this.player.volume === "function" && typeof vol === "number") {
|
|
6900
6954
|
this.player.volume(vol);
|
|
@@ -6913,6 +6967,7 @@ var CkPlayer = {
|
|
|
6913
6967
|
autoPlug: this.autoPlug,
|
|
6914
6968
|
volume: this.volume,
|
|
6915
6969
|
pluginPath: this.pluginPath,
|
|
6970
|
+
seek: this.seek,
|
|
6916
6971
|
options: this.options,
|
|
6917
6972
|
cookie: this.instanceId
|
|
6918
6973
|
});
|
package/package.json
CHANGED
package/types/vue.d.ts
CHANGED