ckplayer-plus 1.1.2 → 1.1.4

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.2/dist/";
213
+ var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.4/dist/";
214
214
  function ckplayerEmbed(videoObj) {
215
215
  var rightMenu = [
216
216
  {
@@ -432,7 +432,7 @@ var require_ckplayer = __commonJS({
432
432
  }
433
433
  var allowCdn = !vars || vars["cdnFallback"] !== false;
434
434
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
435
- if (!allowCdn || !cdn || cdn.indexOf("1.1.2") > -1) {
435
+ if (!allowCdn || !cdn || cdn.indexOf("1.1.4") > -1) {
436
436
  return folder + "/" + file;
437
437
  }
438
438
  if (cdn.slice(-1) !== "/") {
@@ -527,7 +527,11 @@ var require_ckplayer = __commonJS({
527
527
  player.muted();
528
528
  recoveryVolume = true;
529
529
  video.attr("preload", "auto");
530
- autoplayPending = true;
530
+ if (parseResumeSeekFromVars() > 0) {
531
+ autoplayPending = false;
532
+ } else {
533
+ autoplayPending = true;
534
+ }
531
535
  } else {
532
536
  video.attr("preload", "metadata");
533
537
  }
@@ -643,6 +647,9 @@ var require_ckplayer = __commonJS({
643
647
  if (!seekTime) {
644
648
  applyResumeSeekState(parseResumeSeekFromVars());
645
649
  }
650
+ if (seekTime > 0) {
651
+ autoplayPending = false;
652
+ }
646
653
  }, hlsSeekTo = function(target, force) {
647
654
  if (!hls || typeof hls.startLoad !== "function" || !video) {
648
655
  return false;
@@ -651,25 +658,27 @@ var require_ckplayer = __commonJS({
651
658
  target = 0;
652
659
  }
653
660
  var curTime = video.currentTime || 0;
654
- if (!force) {
655
- if (hlsResumeTarget >= 0 && Math.abs(hlsResumeTarget - target) < 1.5) {
656
- if (timeInBuffered(target) && Math.abs(curTime - target) < 2.5) {
657
- return true;
658
- }
661
+ hlsResumeTarget = target;
662
+ if (!force && timeInBuffered(target)) {
663
+ if (Math.abs(curTime - target) < 1.5) {
664
+ return true;
659
665
  }
660
- if (timeInBuffered(target) && Math.abs(curTime - target) < 1.5) {
661
- hlsResumeTarget = target;
666
+ if (hlsCanSafelySeekTo(target)) {
667
+ finishResumeSeek(target);
662
668
  return true;
663
669
  }
664
- if (hlsLoadAt >= 0 && Math.abs(hlsLoadAt - target) < 1.5 && Date.now() - hlsLoadTs < 4e3) {
670
+ }
671
+ var loadAt = hlsPriorLoadTime(target);
672
+ if (!force) {
673
+ if (hlsLoadAt >= 0 && Math.abs(hlsLoadAt - loadAt) < 1.5 && Date.now() - hlsLoadTs < 4e3) {
665
674
  return true;
666
675
  }
667
676
  }
668
- hlsLoadAt = target;
677
+ hlsLoadAt = loadAt;
669
678
  hlsLoadTs = Date.now();
670
- hlsResumeTarget = target;
679
+ hlsResumeWarmup = true;
671
680
  try {
672
- hls.startLoad(target);
681
+ hls.startLoad(loadAt);
673
682
  } catch (event2) {
674
683
  return false;
675
684
  }
@@ -842,6 +851,7 @@ var require_ckplayer = __commonJS({
842
851
  seekTime = resumeAt;
843
852
  hlsResumeTarget = resumeAt;
844
853
  hlsResumeWarmup = true;
854
+ hlsConf.autoStartLoad = false;
845
855
  }
846
856
  hls = new Hls(hlsConf);
847
857
  hls.loadSource(url);
@@ -849,6 +859,9 @@ var require_ckplayer = __commonJS({
849
859
  hls.on(Hls.Events.MANIFEST_PARSED, function() {
850
860
  if (hlsResumeWarmup && seekTime > 0) {
851
861
  var loadAt = hlsPriorLoadTime(seekTime);
862
+ hlsLoadAt = loadAt;
863
+ hlsLoadTs = Date.now();
864
+ hlsStartPositionUsed = true;
852
865
  try {
853
866
  hls.startLoad(loadAt);
854
867
  } catch (event2) {
@@ -862,9 +875,12 @@ var require_ckplayer = __commonJS({
862
875
  finishResumeSeek(target);
863
876
  return;
864
877
  }
865
- var snap = hlsPriorLoadTime(target);
866
- hlsResumeWarmup = false;
867
- finishResumeSeek(snap);
878
+ var snap = hlsFragStartTime(target);
879
+ if (timeInBuffered(snap) || hlsCanSafelySeekTo(snap)) {
880
+ finishResumeSeek(snap);
881
+ return;
882
+ }
883
+ finishResumeSeek(Math.max(0, loadAt));
868
884
  }, 5e3);
869
885
  return;
870
886
  }
@@ -1611,8 +1627,8 @@ var require_ckplayer = __commonJS({
1611
1627
  } catch (event2) {
1612
1628
  }
1613
1629
  return false;
1614
- }, hlsFragAround = function(t) {
1615
- if (!hls || isNaN(t) || t < 0) {
1630
+ }, hlsGetFragments = function() {
1631
+ if (!hls) {
1616
1632
  return null;
1617
1633
  }
1618
1634
  try {
@@ -1629,6 +1645,19 @@ var require_ckplayer = __commonJS({
1629
1645
  if (!frags || !frags.length) {
1630
1646
  return null;
1631
1647
  }
1648
+ return frags;
1649
+ } catch (event2) {
1650
+ }
1651
+ return null;
1652
+ }, hlsFragAround = function(t) {
1653
+ if (!hls || isNaN(t) || t < 0) {
1654
+ return null;
1655
+ }
1656
+ try {
1657
+ var frags = hlsGetFragments();
1658
+ if (!frags) {
1659
+ return null;
1660
+ }
1632
1661
  for (var i = 0; i < frags.length; i++) {
1633
1662
  var f = frags[i];
1634
1663
  if (!f) {
@@ -1644,7 +1673,24 @@ var require_ckplayer = __commonJS({
1644
1673
  } catch (event2) {
1645
1674
  }
1646
1675
  return null;
1647
- }, hlsPriorLoadTime = function(t) {
1676
+ }, hlsFragIndexAround = function(t) {
1677
+ var frags = hlsGetFragments();
1678
+ if (!frags || isNaN(t) || t < 0) {
1679
+ return -1;
1680
+ }
1681
+ for (var i = 0; i < frags.length; i++) {
1682
+ var f = frags[i];
1683
+ if (!f) {
1684
+ continue;
1685
+ }
1686
+ var start = f.start || 0;
1687
+ var end = start + (f.duration || 0);
1688
+ if (t >= start - 0.05 && t < end + 0.05) {
1689
+ return i;
1690
+ }
1691
+ }
1692
+ return frags.length - 1;
1693
+ }, hlsFragStartTime = function(t) {
1648
1694
  if (isNaN(t) || t <= 0) {
1649
1695
  return 0;
1650
1696
  }
@@ -1652,6 +1698,27 @@ var require_ckplayer = __commonJS({
1652
1698
  if (frag && !isUndefined(frag.start)) {
1653
1699
  return Math.max(0, frag.start);
1654
1700
  }
1701
+ return Math.max(0, t);
1702
+ }, hlsPriorLoadTime = function(t) {
1703
+ if (isNaN(t) || t <= 0) {
1704
+ return 0;
1705
+ }
1706
+ var frags = hlsGetFragments();
1707
+ if (frags && frags.length) {
1708
+ var idx = hlsFragIndexAround(t);
1709
+ if (idx < 0) {
1710
+ idx = frags.length - 1;
1711
+ }
1712
+ var loadIdx = Math.max(0, idx - 1);
1713
+ var loadFrag = frags[loadIdx];
1714
+ if (loadFrag && !isUndefined(loadFrag.start)) {
1715
+ return Math.max(0, loadFrag.start);
1716
+ }
1717
+ }
1718
+ var frag = hlsFragAround(t);
1719
+ if (frag && !isUndefined(frag.start)) {
1720
+ return Math.max(0, frag.start - 12);
1721
+ }
1655
1722
  return Math.max(0, t - 12);
1656
1723
  }, hlsCanSafelySeekTo = function(t) {
1657
1724
  if (!video || isUndefined(video.buffered) || isNaN(t) || t < 0) {
@@ -1660,13 +1727,13 @@ var require_ckplayer = __commonJS({
1660
1727
  if (!timeInBuffered(t)) {
1661
1728
  return false;
1662
1729
  }
1663
- var fragStart = hlsPriorLoadTime(t);
1730
+ var loadStart = hlsPriorLoadTime(t);
1664
1731
  try {
1665
1732
  var buf = video.buffered;
1666
1733
  for (var i = 0; i < buf.length; i++) {
1667
1734
  var start = buf.start(i);
1668
1735
  var end = buf.end(i);
1669
- if (fragStart >= start - 0.35 && t <= end + 0.15) {
1736
+ if (loadStart >= start - 0.35 && t <= end + 0.15) {
1670
1737
  return true;
1671
1738
  }
1672
1739
  }
@@ -1675,25 +1742,28 @@ var require_ckplayer = __commonJS({
1675
1742
  return false;
1676
1743
  }, finishResumeSeek = function(t) {
1677
1744
  hlsResumeWarmup = false;
1745
+ autoplayPending = false;
1678
1746
  applySeekToMedia(t);
1679
1747
  setTimeout(function() {
1680
1748
  if (!video) {
1681
1749
  return;
1682
1750
  }
1751
+ try {
1752
+ video.pause();
1753
+ } catch (event2) {
1754
+ }
1755
+ paused = true;
1683
1756
  if (C["buffer"]) {
1684
1757
  C["buffer"].hide();
1685
1758
  }
1686
1759
  waited = true;
1687
- if (vars["autoplay"] || autoplayPending) {
1688
- try {
1689
- var p = video.play();
1690
- if (p && typeof p.then === "function") {
1691
- p.catch(function() {
1692
- });
1693
- }
1694
- } catch (event2) {
1695
- }
1696
- autoplayPending = false;
1760
+ if (!vars["controls"] && C["centerPlay"]) {
1761
+ C["centerPlay"].show();
1762
+ }
1763
+ if (C["bar"] && C["bar"]["playAndPause"]) {
1764
+ C["bar"]["playAndPause"]["pause"].hide();
1765
+ C["bar"]["playAndPause"]["play"].show();
1766
+ C["bar"]["playAndPause"]["refresh"].hide();
1697
1767
  }
1698
1768
  }, 120);
1699
1769
  }, clearSeekRetry = function() {
@@ -1744,19 +1814,28 @@ var require_ckplayer = __commonJS({
1744
1814
  firstSeekTime = t;
1745
1815
  }
1746
1816
  }
1747
- if (hlsResumeWarmup) {
1817
+ if (hls && typeof hls.startLoad === "function") {
1748
1818
  if (hlsCanSafelySeekTo(t)) {
1749
1819
  finishResumeSeek(t);
1820
+ return;
1750
1821
  }
1751
- return;
1752
- }
1753
- if (hls && typeof hls.startLoad === "function") {
1754
- if (!hlsCanSafelySeekTo(t) && t > 1) {
1822
+ if (t > 1) {
1755
1823
  hlsResumeWarmup = true;
1756
1824
  hlsResumeTarget = t;
1757
- try {
1758
- hls.startLoad(hlsPriorLoadTime(t));
1759
- } catch (event2) {
1825
+ var loadAt = hlsPriorLoadTime(t);
1826
+ var shouldLoad = !!force;
1827
+ if (!shouldLoad) {
1828
+ if (!(hlsLoadAt >= 0 && Math.abs(hlsLoadAt - loadAt) < 1.5 && Date.now() - hlsLoadTs < 4e3)) {
1829
+ shouldLoad = true;
1830
+ }
1831
+ }
1832
+ if (shouldLoad) {
1833
+ hlsLoadAt = loadAt;
1834
+ hlsLoadTs = Date.now();
1835
+ try {
1836
+ hls.startLoad(loadAt);
1837
+ } catch (event2) {
1838
+ }
1760
1839
  }
1761
1840
  seekRetryCount++;
1762
1841
  if (seekRetryCount <= 50) {
@@ -1769,11 +1848,6 @@ var require_ckplayer = __commonJS({
1769
1848
  }
1770
1849
  return;
1771
1850
  }
1772
- if (hlsSeekTo(t, !!force)) {
1773
- clearSeekRetry();
1774
- seekTime = 0;
1775
- return;
1776
- }
1777
1851
  }
1778
1852
  if (!force && (!isUndefined(video.readyState) && video.readyState < 1)) {
1779
1853
  seekRetryCount++;
@@ -2073,7 +2147,7 @@ var require_ckplayer = __commonJS({
2073
2147
  eventTarget("seeked");
2074
2148
  },
2075
2149
  seeking: function() {
2076
- if (paused && !seekApplyLock && !hlsResumeWarmup && !seekTime) {
2150
+ if (paused && !seekApplyLock && !hlsResumeWarmup && !seekTime && !autoplayPending) {
2077
2151
  player.play();
2078
2152
  }
2079
2153
  var seekingTime = this.currentTime;
@@ -3036,20 +3110,19 @@ var require_ckplayer = __commonJS({
3036
3110
  applyPendingSeek(false);
3037
3111
  return player;
3038
3112
  }
3039
- if (hls && target > 1 && !hlsCanSafelySeekTo(target)) {
3113
+ if (hls) {
3040
3114
  seekTime = target;
3041
- hlsResumeWarmup = true;
3042
3115
  hlsResumeTarget = target;
3043
- try {
3044
- hls.startLoad(hlsPriorLoadTime(target));
3045
- } catch (event2) {
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);
3124
+ return player;
3046
3125
  }
3047
- applyPendingSeek(false);
3048
- return player;
3049
- }
3050
- if (hlsSeekTo(target, false)) {
3051
- seekTime = 0;
3052
- return player;
3053
3126
  }
3054
3127
  try {
3055
3128
  video.currentTime = target;
@@ -4273,7 +4346,10 @@ var require_ckplayer = __commonJS({
4273
4346
  }
4274
4347
  }
4275
4348
  seekTime = player.time();
4276
- video.attr("autoplay", "autoplay");
4349
+ try {
4350
+ video.removeAttr("autoplay");
4351
+ } catch (event2) {
4352
+ }
4277
4353
  changeVideo(ele.attr("data-video"));
4278
4354
  message(language["switchTo"] + ele.htm());
4279
4355
  C["bar"]["definition"]["button"].htm(ele.htm());
@@ -6265,7 +6341,7 @@ var require_ckplayer = __commonJS({
6265
6341
  if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
6266
6342
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
6267
6343
  var m = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
6268
- if (cdn && cdn.indexOf("1.1.2") === -1 && m) {
6344
+ if (cdn && cdn.indexOf("1.1.4") === -1 && m) {
6269
6345
  if (cdn.slice(-1) !== "/") {
6270
6346
  cdn += "/";
6271
6347
  }