ckplayer-plus 1.1.4 → 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/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.4/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.4") > -1) {
436
+ if (!allowCdn || !cdn || cdn.indexOf("1.1.6") > -1) {
436
437
  return folder + "/" + file;
437
438
  }
438
439
  if (cdn.slice(-1) !== "/") {
@@ -683,6 +684,33 @@ var require_ckplayer = __commonJS({
683
684
  return false;
684
685
  }
685
686
  return true;
687
+ }, hlsInteractiveSeek = function(target) {
688
+ if (!hls || !video) {
689
+ return false;
690
+ }
691
+ if (isNaN(target) || target < 0) {
692
+ target = 0;
693
+ }
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;
699
+ clearSeekRetry();
700
+ hlsResumeWarmup = false;
701
+ hlsResumeTarget = -1;
702
+ seekTime = 0;
703
+ seekApplyLock = true;
704
+ try {
705
+ video.currentTime = target;
706
+ } catch (event2) {
707
+ seekApplyLock = false;
708
+ return false;
709
+ }
710
+ setTimeout(function() {
711
+ seekApplyLock = false;
712
+ }, 120);
713
+ return true;
686
714
  }, destroyStreamPlayers = function() {
687
715
  clearSeekRetry();
688
716
  seekApplyLock = false;
@@ -691,6 +719,7 @@ var require_ckplayer = __commonJS({
691
719
  hlsResumeWarmup = false;
692
720
  hlsLoadAt = -1;
693
721
  hlsLoadTs = 0;
722
+ hlsScrubResumePlay = false;
694
723
  decodeRecoverCount = 0;
695
724
  if (hls) {
696
725
  try {
@@ -835,9 +864,12 @@ var require_ckplayer = __commonJS({
835
864
  hls = null;
836
865
  }
837
866
  var hlsConf = {
838
- // 10s 分片流在续播点附近需要略大缓冲,减少卡住转圈
867
+ // 对齐常见在线 M3U8 播放器:更大前向/后向缓冲,拖动更易命中已缓存区间
868
+ enableWorker: false,
839
869
  maxBufferLength: 30,
840
- maxMaxBufferLength: 60
870
+ maxMaxBufferLength: 600,
871
+ maxBufferSize: 60 * 1e3 * 1e3,
872
+ backBufferLength: 90
841
873
  };
842
874
  var resumeAt = seekTime;
843
875
  if (!resumeAt) {
@@ -1845,7 +1877,9 @@ var require_ckplayer = __commonJS({
1845
1877
  seekRetryTimer = setTimeout(function() {
1846
1878
  applyPendingSeek(false);
1847
1879
  }, 200);
1880
+ return;
1848
1881
  }
1882
+ finishResumeSeek(hlsFragStartTime(t) || loadAt || t);
1849
1883
  return;
1850
1884
  }
1851
1885
  }
@@ -2143,6 +2177,17 @@ var require_ckplayer = __commonJS({
2143
2177
  decodeRecoverCount = 0;
2144
2178
  startPendingAutoplay();
2145
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
+ }
2146
2191
  eventTarget("seek", { time: this.currentTime, state: "seeked" });
2147
2192
  eventTarget("seeked");
2148
2193
  },
@@ -3111,18 +3156,13 @@ var require_ckplayer = __commonJS({
3111
3156
  return player;
3112
3157
  }
3113
3158
  if (hls) {
3114
- seekTime = target;
3115
- hlsResumeTarget = target;
3116
- if (target > 1 && hlsCanSafelySeekTo(target)) {
3117
- finishResumeSeek(target);
3118
- return player;
3119
- }
3120
- if (target > 1) {
3121
- hlsResumeWarmup = true;
3122
- hlsSeekTo(target, false);
3123
- applyPendingSeek(false);
3159
+ if (target > 0.5 && timeInBuffered(target) && Math.abs((video.currentTime || 0) - target) < 0.35) {
3160
+ seekTime = 0;
3161
+ hlsResumeWarmup = false;
3124
3162
  return player;
3125
3163
  }
3164
+ hlsInteractiveSeek(target);
3165
+ return player;
3126
3166
  }
3127
3167
  try {
3128
3168
  video.currentTime = target;
@@ -6341,7 +6381,7 @@ var require_ckplayer = __commonJS({
6341
6381
  if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
6342
6382
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
6343
6383
  var m = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
6344
- if (cdn && cdn.indexOf("1.1.4") === -1 && m) {
6384
+ if (cdn && cdn.indexOf("1.1.6") === -1 && m) {
6345
6385
  if (cdn.slice(-1) !== "/") {
6346
6386
  cdn += "/";
6347
6387
  }
package/dist/vue.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.4/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.4") > -1) {
430
+ if (!allowCdn || !cdn || cdn.indexOf("1.1.6") > -1) {
430
431
  return folder + "/" + file;
431
432
  }
432
433
  if (cdn.slice(-1) !== "/") {
@@ -677,6 +678,33 @@ var require_ckplayer = __commonJS({
677
678
  return false;
678
679
  }
679
680
  return true;
681
+ }, hlsInteractiveSeek = function(target) {
682
+ if (!hls || !video) {
683
+ return false;
684
+ }
685
+ if (isNaN(target) || target < 0) {
686
+ target = 0;
687
+ }
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;
693
+ clearSeekRetry();
694
+ hlsResumeWarmup = false;
695
+ hlsResumeTarget = -1;
696
+ seekTime = 0;
697
+ seekApplyLock = true;
698
+ try {
699
+ video.currentTime = target;
700
+ } catch (event2) {
701
+ seekApplyLock = false;
702
+ return false;
703
+ }
704
+ setTimeout(function() {
705
+ seekApplyLock = false;
706
+ }, 120);
707
+ return true;
680
708
  }, destroyStreamPlayers = function() {
681
709
  clearSeekRetry();
682
710
  seekApplyLock = false;
@@ -685,6 +713,7 @@ var require_ckplayer = __commonJS({
685
713
  hlsResumeWarmup = false;
686
714
  hlsLoadAt = -1;
687
715
  hlsLoadTs = 0;
716
+ hlsScrubResumePlay = false;
688
717
  decodeRecoverCount = 0;
689
718
  if (hls) {
690
719
  try {
@@ -829,9 +858,12 @@ var require_ckplayer = __commonJS({
829
858
  hls = null;
830
859
  }
831
860
  var hlsConf = {
832
- // 10s 分片流在续播点附近需要略大缓冲,减少卡住转圈
861
+ // 对齐常见在线 M3U8 播放器:更大前向/后向缓冲,拖动更易命中已缓存区间
862
+ enableWorker: false,
833
863
  maxBufferLength: 30,
834
- maxMaxBufferLength: 60
864
+ maxMaxBufferLength: 600,
865
+ maxBufferSize: 60 * 1e3 * 1e3,
866
+ backBufferLength: 90
835
867
  };
836
868
  var resumeAt = seekTime;
837
869
  if (!resumeAt) {
@@ -1839,7 +1871,9 @@ var require_ckplayer = __commonJS({
1839
1871
  seekRetryTimer = setTimeout(function() {
1840
1872
  applyPendingSeek(false);
1841
1873
  }, 200);
1874
+ return;
1842
1875
  }
1876
+ finishResumeSeek(hlsFragStartTime(t) || loadAt || t);
1843
1877
  return;
1844
1878
  }
1845
1879
  }
@@ -2137,6 +2171,17 @@ var require_ckplayer = __commonJS({
2137
2171
  decodeRecoverCount = 0;
2138
2172
  startPendingAutoplay();
2139
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
+ }
2140
2185
  eventTarget("seek", { time: this.currentTime, state: "seeked" });
2141
2186
  eventTarget("seeked");
2142
2187
  },
@@ -3105,18 +3150,13 @@ var require_ckplayer = __commonJS({
3105
3150
  return player;
3106
3151
  }
3107
3152
  if (hls) {
3108
- seekTime = target;
3109
- hlsResumeTarget = target;
3110
- if (target > 1 && hlsCanSafelySeekTo(target)) {
3111
- finishResumeSeek(target);
3112
- return player;
3113
- }
3114
- if (target > 1) {
3115
- hlsResumeWarmup = true;
3116
- hlsSeekTo(target, false);
3117
- applyPendingSeek(false);
3153
+ if (target > 0.5 && timeInBuffered(target) && Math.abs((video.currentTime || 0) - target) < 0.35) {
3154
+ seekTime = 0;
3155
+ hlsResumeWarmup = false;
3118
3156
  return player;
3119
3157
  }
3158
+ hlsInteractiveSeek(target);
3159
+ return player;
3120
3160
  }
3121
3161
  try {
3122
3162
  video.currentTime = target;
@@ -6335,7 +6375,7 @@ var require_ckplayer = __commonJS({
6335
6375
  if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
6336
6376
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
6337
6377
  var m = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
6338
- if (cdn && cdn.indexOf("1.1.4") === -1 && m) {
6378
+ if (cdn && cdn.indexOf("1.1.6") === -1 && m) {
6339
6379
  if (cdn.slice(-1) !== "/") {
6340
6380
  cdn += "/";
6341
6381
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ckplayer-plus",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "description": "Enhanced ckplayer X3 packaging with Vue 2/3 and React wrappers — ESM-ready HTML5 video player",
5
5
  "keywords": [
6
6
  "ckplayer",