ckplayer-plus 1.1.5 → 1.1.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/dist/index.cjs CHANGED
@@ -210,7 +210,7 @@ var require_ckplayer = __commonJS({
210
210
  cdnFallback: true
211
211
  // getPath 失败时是否回退到 jsDelivr(内网可设 false,并配置 pluginPath)
212
212
  };
213
- var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.5/dist/";
213
+ var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.6/dist/";
214
214
  function ckplayerEmbed(videoObj) {
215
215
  var rightMenu = [
216
216
  {
@@ -245,6 +245,7 @@ var require_ckplayer = __commonJS({
245
245
  var hlsResumeWarmup = false;
246
246
  var hlsLoadAt = -1;
247
247
  var hlsLoadTs = 0;
248
+ var hlsScrubResumePlay = false;
248
249
  var oldTime = 0, playTime = 0, firstSeekTime = -1, maxSeeTime = 0;
249
250
  var isChangeDef = true;
250
251
  var playType = "";
@@ -432,7 +433,7 @@ var require_ckplayer = __commonJS({
432
433
  }
433
434
  var allowCdn = !vars || vars["cdnFallback"] !== false;
434
435
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
435
- if (!allowCdn || !cdn || cdn.indexOf("1.1.5") > -1) {
436
+ if (!allowCdn || !cdn || cdn.indexOf("1.1.6") > -1) {
436
437
  return folder + "/" + file;
437
438
  }
438
439
  if (cdn.slice(-1) !== "/") {
@@ -684,49 +685,31 @@ var require_ckplayer = __commonJS({
684
685
  }
685
686
  return true;
686
687
  }, hlsInteractiveSeek = function(target) {
687
- if (!hls || !video || typeof hls.startLoad !== "function") {
688
+ if (!hls || !video) {
688
689
  return false;
689
690
  }
690
691
  if (isNaN(target) || target < 0) {
691
692
  target = 0;
692
693
  }
693
- var wasPlaying = !paused;
694
+ var dur = duration || video.duration || 0;
695
+ if (dur && isFinite(dur) && dur > 0 && target >= dur) {
696
+ target = Math.max(0, dur - 0.3);
697
+ }
698
+ hlsScrubResumePlay = !paused;
694
699
  clearSeekRetry();
695
700
  hlsResumeWarmup = false;
696
- hlsResumeTarget = target;
701
+ hlsResumeTarget = -1;
697
702
  seekTime = 0;
698
703
  seekApplyLock = true;
699
- var loadAt = hlsFragStartTime(target);
700
- if (loadAt <= 0 && target > 0) {
701
- loadAt = Math.max(0, target);
702
- }
703
- hlsLoadAt = loadAt;
704
- hlsLoadTs = Date.now();
705
- try {
706
- hls.startLoad(loadAt);
707
- } catch (event2) {
708
- }
709
704
  try {
710
705
  video.currentTime = target;
711
706
  } catch (event2) {
712
- seekTime = target;
707
+ seekApplyLock = false;
708
+ return false;
713
709
  }
714
710
  setTimeout(function() {
715
711
  seekApplyLock = false;
716
- if (!video) {
717
- return;
718
- }
719
- if (C["buffer"]) {
720
- C["buffer"].hide();
721
- }
722
- waited = true;
723
- if (wasPlaying && paused) {
724
- try {
725
- player.play();
726
- } catch (errPlay) {
727
- }
728
- }
729
- }, 200);
712
+ }, 120);
730
713
  return true;
731
714
  }, destroyStreamPlayers = function() {
732
715
  clearSeekRetry();
@@ -736,6 +719,7 @@ var require_ckplayer = __commonJS({
736
719
  hlsResumeWarmup = false;
737
720
  hlsLoadAt = -1;
738
721
  hlsLoadTs = 0;
722
+ hlsScrubResumePlay = false;
739
723
  decodeRecoverCount = 0;
740
724
  if (hls) {
741
725
  try {
@@ -880,9 +864,12 @@ var require_ckplayer = __commonJS({
880
864
  hls = null;
881
865
  }
882
866
  var hlsConf = {
883
- // 10s 分片流在续播点附近需要略大缓冲,减少卡住转圈
867
+ // 对齐常见在线 M3U8 播放器:更大前向/后向缓冲,拖动更易命中已缓存区间
868
+ enableWorker: false,
884
869
  maxBufferLength: 30,
885
- maxMaxBufferLength: 60
870
+ maxMaxBufferLength: 600,
871
+ maxBufferSize: 60 * 1e3 * 1e3,
872
+ backBufferLength: 90
886
873
  };
887
874
  var resumeAt = seekTime;
888
875
  if (!resumeAt) {
@@ -2190,6 +2177,17 @@ var require_ckplayer = __commonJS({
2190
2177
  decodeRecoverCount = 0;
2191
2178
  startPendingAutoplay();
2192
2179
  pSliderMouseDown = false;
2180
+ waited = true;
2181
+ if (C["buffer"]) {
2182
+ C["buffer"].hide();
2183
+ }
2184
+ if (hlsScrubResumePlay) {
2185
+ hlsScrubResumePlay = false;
2186
+ try {
2187
+ player.play();
2188
+ } catch (event2) {
2189
+ }
2190
+ }
2193
2191
  eventTarget("seek", { time: this.currentTime, state: "seeked" });
2194
2192
  eventTarget("seeked");
2195
2193
  },
@@ -6383,7 +6381,7 @@ var require_ckplayer = __commonJS({
6383
6381
  if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
6384
6382
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
6385
6383
  var m = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
6386
- if (cdn && cdn.indexOf("1.1.5") === -1 && m) {
6384
+ if (cdn && cdn.indexOf("1.1.6") === -1 && m) {
6387
6385
  if (cdn.slice(-1) !== "/") {
6388
6386
  cdn += "/";
6389
6387
  }
package/dist/index.js CHANGED
@@ -204,7 +204,7 @@ var require_ckplayer = __commonJS({
204
204
  cdnFallback: true
205
205
  // getPath 失败时是否回退到 jsDelivr(内网可设 false,并配置 pluginPath)
206
206
  };
207
- var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.5/dist/";
207
+ var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.6/dist/";
208
208
  function ckplayerEmbed(videoObj) {
209
209
  var rightMenu = [
210
210
  {
@@ -239,6 +239,7 @@ var require_ckplayer = __commonJS({
239
239
  var hlsResumeWarmup = false;
240
240
  var hlsLoadAt = -1;
241
241
  var hlsLoadTs = 0;
242
+ var hlsScrubResumePlay = false;
242
243
  var oldTime = 0, playTime = 0, firstSeekTime = -1, maxSeeTime = 0;
243
244
  var isChangeDef = true;
244
245
  var playType = "";
@@ -426,7 +427,7 @@ var require_ckplayer = __commonJS({
426
427
  }
427
428
  var allowCdn = !vars || vars["cdnFallback"] !== false;
428
429
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
429
- if (!allowCdn || !cdn || cdn.indexOf("1.1.5") > -1) {
430
+ if (!allowCdn || !cdn || cdn.indexOf("1.1.6") > -1) {
430
431
  return folder + "/" + file;
431
432
  }
432
433
  if (cdn.slice(-1) !== "/") {
@@ -678,49 +679,31 @@ var require_ckplayer = __commonJS({
678
679
  }
679
680
  return true;
680
681
  }, hlsInteractiveSeek = function(target) {
681
- if (!hls || !video || typeof hls.startLoad !== "function") {
682
+ if (!hls || !video) {
682
683
  return false;
683
684
  }
684
685
  if (isNaN(target) || target < 0) {
685
686
  target = 0;
686
687
  }
687
- var wasPlaying = !paused;
688
+ var dur = duration || video.duration || 0;
689
+ if (dur && isFinite(dur) && dur > 0 && target >= dur) {
690
+ target = Math.max(0, dur - 0.3);
691
+ }
692
+ hlsScrubResumePlay = !paused;
688
693
  clearSeekRetry();
689
694
  hlsResumeWarmup = false;
690
- hlsResumeTarget = target;
695
+ hlsResumeTarget = -1;
691
696
  seekTime = 0;
692
697
  seekApplyLock = true;
693
- var loadAt = hlsFragStartTime(target);
694
- if (loadAt <= 0 && target > 0) {
695
- loadAt = Math.max(0, target);
696
- }
697
- hlsLoadAt = loadAt;
698
- hlsLoadTs = Date.now();
699
- try {
700
- hls.startLoad(loadAt);
701
- } catch (event2) {
702
- }
703
698
  try {
704
699
  video.currentTime = target;
705
700
  } catch (event2) {
706
- seekTime = target;
701
+ seekApplyLock = false;
702
+ return false;
707
703
  }
708
704
  setTimeout(function() {
709
705
  seekApplyLock = false;
710
- if (!video) {
711
- return;
712
- }
713
- if (C["buffer"]) {
714
- C["buffer"].hide();
715
- }
716
- waited = true;
717
- if (wasPlaying && paused) {
718
- try {
719
- player.play();
720
- } catch (errPlay) {
721
- }
722
- }
723
- }, 200);
706
+ }, 120);
724
707
  return true;
725
708
  }, destroyStreamPlayers = function() {
726
709
  clearSeekRetry();
@@ -730,6 +713,7 @@ var require_ckplayer = __commonJS({
730
713
  hlsResumeWarmup = false;
731
714
  hlsLoadAt = -1;
732
715
  hlsLoadTs = 0;
716
+ hlsScrubResumePlay = false;
733
717
  decodeRecoverCount = 0;
734
718
  if (hls) {
735
719
  try {
@@ -874,9 +858,12 @@ var require_ckplayer = __commonJS({
874
858
  hls = null;
875
859
  }
876
860
  var hlsConf = {
877
- // 10s 分片流在续播点附近需要略大缓冲,减少卡住转圈
861
+ // 对齐常见在线 M3U8 播放器:更大前向/后向缓冲,拖动更易命中已缓存区间
862
+ enableWorker: false,
878
863
  maxBufferLength: 30,
879
- maxMaxBufferLength: 60
864
+ maxMaxBufferLength: 600,
865
+ maxBufferSize: 60 * 1e3 * 1e3,
866
+ backBufferLength: 90
880
867
  };
881
868
  var resumeAt = seekTime;
882
869
  if (!resumeAt) {
@@ -2184,6 +2171,17 @@ var require_ckplayer = __commonJS({
2184
2171
  decodeRecoverCount = 0;
2185
2172
  startPendingAutoplay();
2186
2173
  pSliderMouseDown = false;
2174
+ waited = true;
2175
+ if (C["buffer"]) {
2176
+ C["buffer"].hide();
2177
+ }
2178
+ if (hlsScrubResumePlay) {
2179
+ hlsScrubResumePlay = false;
2180
+ try {
2181
+ player.play();
2182
+ } catch (event2) {
2183
+ }
2184
+ }
2187
2185
  eventTarget("seek", { time: this.currentTime, state: "seeked" });
2188
2186
  eventTarget("seeked");
2189
2187
  },
@@ -6377,7 +6375,7 @@ var require_ckplayer = __commonJS({
6377
6375
  if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
6378
6376
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
6379
6377
  var m = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
6380
- if (cdn && cdn.indexOf("1.1.5") === -1 && m) {
6378
+ if (cdn && cdn.indexOf("1.1.6") === -1 && m) {
6381
6379
  if (cdn.slice(-1) !== "/") {
6382
6380
  cdn += "/";
6383
6381
  }
package/dist/react.cjs CHANGED
@@ -210,7 +210,7 @@ var require_ckplayer = __commonJS({
210
210
  cdnFallback: true
211
211
  // getPath 失败时是否回退到 jsDelivr(内网可设 false,并配置 pluginPath)
212
212
  };
213
- var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.5/dist/";
213
+ var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.6/dist/";
214
214
  function ckplayerEmbed(videoObj) {
215
215
  var rightMenu = [
216
216
  {
@@ -245,6 +245,7 @@ var require_ckplayer = __commonJS({
245
245
  var hlsResumeWarmup = false;
246
246
  var hlsLoadAt = -1;
247
247
  var hlsLoadTs = 0;
248
+ var hlsScrubResumePlay = false;
248
249
  var oldTime = 0, playTime = 0, firstSeekTime = -1, maxSeeTime = 0;
249
250
  var isChangeDef = true;
250
251
  var playType = "";
@@ -432,7 +433,7 @@ var require_ckplayer = __commonJS({
432
433
  }
433
434
  var allowCdn = !vars || vars["cdnFallback"] !== false;
434
435
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
435
- if (!allowCdn || !cdn || cdn.indexOf("1.1.5") > -1) {
436
+ if (!allowCdn || !cdn || cdn.indexOf("1.1.6") > -1) {
436
437
  return folder + "/" + file;
437
438
  }
438
439
  if (cdn.slice(-1) !== "/") {
@@ -684,49 +685,31 @@ var require_ckplayer = __commonJS({
684
685
  }
685
686
  return true;
686
687
  }, hlsInteractiveSeek = function(target) {
687
- if (!hls || !video || typeof hls.startLoad !== "function") {
688
+ if (!hls || !video) {
688
689
  return false;
689
690
  }
690
691
  if (isNaN(target) || target < 0) {
691
692
  target = 0;
692
693
  }
693
- var wasPlaying = !paused;
694
+ var dur = duration || video.duration || 0;
695
+ if (dur && isFinite(dur) && dur > 0 && target >= dur) {
696
+ target = Math.max(0, dur - 0.3);
697
+ }
698
+ hlsScrubResumePlay = !paused;
694
699
  clearSeekRetry();
695
700
  hlsResumeWarmup = false;
696
- hlsResumeTarget = target;
701
+ hlsResumeTarget = -1;
697
702
  seekTime = 0;
698
703
  seekApplyLock = true;
699
- var loadAt = hlsFragStartTime(target);
700
- if (loadAt <= 0 && target > 0) {
701
- loadAt = Math.max(0, target);
702
- }
703
- hlsLoadAt = loadAt;
704
- hlsLoadTs = Date.now();
705
- try {
706
- hls.startLoad(loadAt);
707
- } catch (event2) {
708
- }
709
704
  try {
710
705
  video.currentTime = target;
711
706
  } catch (event2) {
712
- seekTime = target;
707
+ seekApplyLock = false;
708
+ return false;
713
709
  }
714
710
  setTimeout(function() {
715
711
  seekApplyLock = false;
716
- if (!video) {
717
- return;
718
- }
719
- if (C["buffer"]) {
720
- C["buffer"].hide();
721
- }
722
- waited = true;
723
- if (wasPlaying && paused) {
724
- try {
725
- player.play();
726
- } catch (errPlay) {
727
- }
728
- }
729
- }, 200);
712
+ }, 120);
730
713
  return true;
731
714
  }, destroyStreamPlayers = function() {
732
715
  clearSeekRetry();
@@ -736,6 +719,7 @@ var require_ckplayer = __commonJS({
736
719
  hlsResumeWarmup = false;
737
720
  hlsLoadAt = -1;
738
721
  hlsLoadTs = 0;
722
+ hlsScrubResumePlay = false;
739
723
  decodeRecoverCount = 0;
740
724
  if (hls) {
741
725
  try {
@@ -880,9 +864,12 @@ var require_ckplayer = __commonJS({
880
864
  hls = null;
881
865
  }
882
866
  var hlsConf = {
883
- // 10s 分片流在续播点附近需要略大缓冲,减少卡住转圈
867
+ // 对齐常见在线 M3U8 播放器:更大前向/后向缓冲,拖动更易命中已缓存区间
868
+ enableWorker: false,
884
869
  maxBufferLength: 30,
885
- maxMaxBufferLength: 60
870
+ maxMaxBufferLength: 600,
871
+ maxBufferSize: 60 * 1e3 * 1e3,
872
+ backBufferLength: 90
886
873
  };
887
874
  var resumeAt = seekTime;
888
875
  if (!resumeAt) {
@@ -2190,6 +2177,17 @@ var require_ckplayer = __commonJS({
2190
2177
  decodeRecoverCount = 0;
2191
2178
  startPendingAutoplay();
2192
2179
  pSliderMouseDown = false;
2180
+ waited = true;
2181
+ if (C["buffer"]) {
2182
+ C["buffer"].hide();
2183
+ }
2184
+ if (hlsScrubResumePlay) {
2185
+ hlsScrubResumePlay = false;
2186
+ try {
2187
+ player.play();
2188
+ } catch (event2) {
2189
+ }
2190
+ }
2193
2191
  eventTarget("seek", { time: this.currentTime, state: "seeked" });
2194
2192
  eventTarget("seeked");
2195
2193
  },
@@ -6383,7 +6381,7 @@ var require_ckplayer = __commonJS({
6383
6381
  if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
6384
6382
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
6385
6383
  var m = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
6386
- if (cdn && cdn.indexOf("1.1.5") === -1 && m) {
6384
+ if (cdn && cdn.indexOf("1.1.6") === -1 && m) {
6387
6385
  if (cdn.slice(-1) !== "/") {
6388
6386
  cdn += "/";
6389
6387
  }
package/dist/react.js CHANGED
@@ -204,7 +204,7 @@ var require_ckplayer = __commonJS({
204
204
  cdnFallback: true
205
205
  // getPath 失败时是否回退到 jsDelivr(内网可设 false,并配置 pluginPath)
206
206
  };
207
- var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.5/dist/";
207
+ var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.6/dist/";
208
208
  function ckplayerEmbed(videoObj) {
209
209
  var rightMenu = [
210
210
  {
@@ -239,6 +239,7 @@ var require_ckplayer = __commonJS({
239
239
  var hlsResumeWarmup = false;
240
240
  var hlsLoadAt = -1;
241
241
  var hlsLoadTs = 0;
242
+ var hlsScrubResumePlay = false;
242
243
  var oldTime = 0, playTime = 0, firstSeekTime = -1, maxSeeTime = 0;
243
244
  var isChangeDef = true;
244
245
  var playType = "";
@@ -426,7 +427,7 @@ var require_ckplayer = __commonJS({
426
427
  }
427
428
  var allowCdn = !vars || vars["cdnFallback"] !== false;
428
429
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
429
- if (!allowCdn || !cdn || cdn.indexOf("1.1.5") > -1) {
430
+ if (!allowCdn || !cdn || cdn.indexOf("1.1.6") > -1) {
430
431
  return folder + "/" + file;
431
432
  }
432
433
  if (cdn.slice(-1) !== "/") {
@@ -678,49 +679,31 @@ var require_ckplayer = __commonJS({
678
679
  }
679
680
  return true;
680
681
  }, hlsInteractiveSeek = function(target) {
681
- if (!hls || !video || typeof hls.startLoad !== "function") {
682
+ if (!hls || !video) {
682
683
  return false;
683
684
  }
684
685
  if (isNaN(target) || target < 0) {
685
686
  target = 0;
686
687
  }
687
- var wasPlaying = !paused;
688
+ var dur = duration || video.duration || 0;
689
+ if (dur && isFinite(dur) && dur > 0 && target >= dur) {
690
+ target = Math.max(0, dur - 0.3);
691
+ }
692
+ hlsScrubResumePlay = !paused;
688
693
  clearSeekRetry();
689
694
  hlsResumeWarmup = false;
690
- hlsResumeTarget = target;
695
+ hlsResumeTarget = -1;
691
696
  seekTime = 0;
692
697
  seekApplyLock = true;
693
- var loadAt = hlsFragStartTime(target);
694
- if (loadAt <= 0 && target > 0) {
695
- loadAt = Math.max(0, target);
696
- }
697
- hlsLoadAt = loadAt;
698
- hlsLoadTs = Date.now();
699
- try {
700
- hls.startLoad(loadAt);
701
- } catch (event2) {
702
- }
703
698
  try {
704
699
  video.currentTime = target;
705
700
  } catch (event2) {
706
- seekTime = target;
701
+ seekApplyLock = false;
702
+ return false;
707
703
  }
708
704
  setTimeout(function() {
709
705
  seekApplyLock = false;
710
- if (!video) {
711
- return;
712
- }
713
- if (C["buffer"]) {
714
- C["buffer"].hide();
715
- }
716
- waited = true;
717
- if (wasPlaying && paused) {
718
- try {
719
- player.play();
720
- } catch (errPlay) {
721
- }
722
- }
723
- }, 200);
706
+ }, 120);
724
707
  return true;
725
708
  }, destroyStreamPlayers = function() {
726
709
  clearSeekRetry();
@@ -730,6 +713,7 @@ var require_ckplayer = __commonJS({
730
713
  hlsResumeWarmup = false;
731
714
  hlsLoadAt = -1;
732
715
  hlsLoadTs = 0;
716
+ hlsScrubResumePlay = false;
733
717
  decodeRecoverCount = 0;
734
718
  if (hls) {
735
719
  try {
@@ -874,9 +858,12 @@ var require_ckplayer = __commonJS({
874
858
  hls = null;
875
859
  }
876
860
  var hlsConf = {
877
- // 10s 分片流在续播点附近需要略大缓冲,减少卡住转圈
861
+ // 对齐常见在线 M3U8 播放器:更大前向/后向缓冲,拖动更易命中已缓存区间
862
+ enableWorker: false,
878
863
  maxBufferLength: 30,
879
- maxMaxBufferLength: 60
864
+ maxMaxBufferLength: 600,
865
+ maxBufferSize: 60 * 1e3 * 1e3,
866
+ backBufferLength: 90
880
867
  };
881
868
  var resumeAt = seekTime;
882
869
  if (!resumeAt) {
@@ -2184,6 +2171,17 @@ var require_ckplayer = __commonJS({
2184
2171
  decodeRecoverCount = 0;
2185
2172
  startPendingAutoplay();
2186
2173
  pSliderMouseDown = false;
2174
+ waited = true;
2175
+ if (C["buffer"]) {
2176
+ C["buffer"].hide();
2177
+ }
2178
+ if (hlsScrubResumePlay) {
2179
+ hlsScrubResumePlay = false;
2180
+ try {
2181
+ player.play();
2182
+ } catch (event2) {
2183
+ }
2184
+ }
2187
2185
  eventTarget("seek", { time: this.currentTime, state: "seeked" });
2188
2186
  eventTarget("seeked");
2189
2187
  },
@@ -6377,7 +6375,7 @@ var require_ckplayer = __commonJS({
6377
6375
  if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
6378
6376
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
6379
6377
  var m = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
6380
- if (cdn && cdn.indexOf("1.1.5") === -1 && m) {
6378
+ if (cdn && cdn.indexOf("1.1.6") === -1 && m) {
6381
6379
  if (cdn.slice(-1) !== "/") {
6382
6380
  cdn += "/";
6383
6381
  }
package/dist/vue.cjs CHANGED
@@ -210,7 +210,7 @@ var require_ckplayer = __commonJS({
210
210
  cdnFallback: true
211
211
  // getPath 失败时是否回退到 jsDelivr(内网可设 false,并配置 pluginPath)
212
212
  };
213
- var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.5/dist/";
213
+ var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.6/dist/";
214
214
  function ckplayerEmbed(videoObj) {
215
215
  var rightMenu = [
216
216
  {
@@ -245,6 +245,7 @@ var require_ckplayer = __commonJS({
245
245
  var hlsResumeWarmup = false;
246
246
  var hlsLoadAt = -1;
247
247
  var hlsLoadTs = 0;
248
+ var hlsScrubResumePlay = false;
248
249
  var oldTime = 0, playTime = 0, firstSeekTime = -1, maxSeeTime = 0;
249
250
  var isChangeDef = true;
250
251
  var playType = "";
@@ -432,7 +433,7 @@ var require_ckplayer = __commonJS({
432
433
  }
433
434
  var allowCdn = !vars || vars["cdnFallback"] !== false;
434
435
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
435
- if (!allowCdn || !cdn || cdn.indexOf("1.1.5") > -1) {
436
+ if (!allowCdn || !cdn || cdn.indexOf("1.1.6") > -1) {
436
437
  return folder + "/" + file;
437
438
  }
438
439
  if (cdn.slice(-1) !== "/") {
@@ -684,49 +685,31 @@ var require_ckplayer = __commonJS({
684
685
  }
685
686
  return true;
686
687
  }, hlsInteractiveSeek = function(target) {
687
- if (!hls || !video || typeof hls.startLoad !== "function") {
688
+ if (!hls || !video) {
688
689
  return false;
689
690
  }
690
691
  if (isNaN(target) || target < 0) {
691
692
  target = 0;
692
693
  }
693
- var wasPlaying = !paused;
694
+ var dur = duration || video.duration || 0;
695
+ if (dur && isFinite(dur) && dur > 0 && target >= dur) {
696
+ target = Math.max(0, dur - 0.3);
697
+ }
698
+ hlsScrubResumePlay = !paused;
694
699
  clearSeekRetry();
695
700
  hlsResumeWarmup = false;
696
- hlsResumeTarget = target;
701
+ hlsResumeTarget = -1;
697
702
  seekTime = 0;
698
703
  seekApplyLock = true;
699
- var loadAt = hlsFragStartTime(target);
700
- if (loadAt <= 0 && target > 0) {
701
- loadAt = Math.max(0, target);
702
- }
703
- hlsLoadAt = loadAt;
704
- hlsLoadTs = Date.now();
705
- try {
706
- hls.startLoad(loadAt);
707
- } catch (event2) {
708
- }
709
704
  try {
710
705
  video.currentTime = target;
711
706
  } catch (event2) {
712
- seekTime = target;
707
+ seekApplyLock = false;
708
+ return false;
713
709
  }
714
710
  setTimeout(function() {
715
711
  seekApplyLock = false;
716
- if (!video) {
717
- return;
718
- }
719
- if (C["buffer"]) {
720
- C["buffer"].hide();
721
- }
722
- waited = true;
723
- if (wasPlaying && paused) {
724
- try {
725
- player.play();
726
- } catch (errPlay) {
727
- }
728
- }
729
- }, 200);
712
+ }, 120);
730
713
  return true;
731
714
  }, destroyStreamPlayers = function() {
732
715
  clearSeekRetry();
@@ -736,6 +719,7 @@ var require_ckplayer = __commonJS({
736
719
  hlsResumeWarmup = false;
737
720
  hlsLoadAt = -1;
738
721
  hlsLoadTs = 0;
722
+ hlsScrubResumePlay = false;
739
723
  decodeRecoverCount = 0;
740
724
  if (hls) {
741
725
  try {
@@ -880,9 +864,12 @@ var require_ckplayer = __commonJS({
880
864
  hls = null;
881
865
  }
882
866
  var hlsConf = {
883
- // 10s 分片流在续播点附近需要略大缓冲,减少卡住转圈
867
+ // 对齐常见在线 M3U8 播放器:更大前向/后向缓冲,拖动更易命中已缓存区间
868
+ enableWorker: false,
884
869
  maxBufferLength: 30,
885
- maxMaxBufferLength: 60
870
+ maxMaxBufferLength: 600,
871
+ maxBufferSize: 60 * 1e3 * 1e3,
872
+ backBufferLength: 90
886
873
  };
887
874
  var resumeAt = seekTime;
888
875
  if (!resumeAt) {
@@ -2190,6 +2177,17 @@ var require_ckplayer = __commonJS({
2190
2177
  decodeRecoverCount = 0;
2191
2178
  startPendingAutoplay();
2192
2179
  pSliderMouseDown = false;
2180
+ waited = true;
2181
+ if (C["buffer"]) {
2182
+ C["buffer"].hide();
2183
+ }
2184
+ if (hlsScrubResumePlay) {
2185
+ hlsScrubResumePlay = false;
2186
+ try {
2187
+ player.play();
2188
+ } catch (event2) {
2189
+ }
2190
+ }
2193
2191
  eventTarget("seek", { time: this.currentTime, state: "seeked" });
2194
2192
  eventTarget("seeked");
2195
2193
  },
@@ -6383,7 +6381,7 @@ var require_ckplayer = __commonJS({
6383
6381
  if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
6384
6382
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
6385
6383
  var m = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
6386
- if (cdn && cdn.indexOf("1.1.5") === -1 && m) {
6384
+ if (cdn && cdn.indexOf("1.1.6") === -1 && m) {
6387
6385
  if (cdn.slice(-1) !== "/") {
6388
6386
  cdn += "/";
6389
6387
  }