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.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.2/dist/";
207
+ var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.1.4/dist/";
208
208
  function ckplayerEmbed(videoObj) {
209
209
  var rightMenu = [
210
210
  {
@@ -426,7 +426,7 @@ var require_ckplayer = __commonJS({
426
426
  }
427
427
  var allowCdn = !vars || vars["cdnFallback"] !== false;
428
428
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
429
- if (!allowCdn || !cdn || cdn.indexOf("1.1.2") > -1) {
429
+ if (!allowCdn || !cdn || cdn.indexOf("1.1.4") > -1) {
430
430
  return folder + "/" + file;
431
431
  }
432
432
  if (cdn.slice(-1) !== "/") {
@@ -521,7 +521,11 @@ var require_ckplayer = __commonJS({
521
521
  player.muted();
522
522
  recoveryVolume = true;
523
523
  video.attr("preload", "auto");
524
- autoplayPending = true;
524
+ if (parseResumeSeekFromVars() > 0) {
525
+ autoplayPending = false;
526
+ } else {
527
+ autoplayPending = true;
528
+ }
525
529
  } else {
526
530
  video.attr("preload", "metadata");
527
531
  }
@@ -637,6 +641,9 @@ var require_ckplayer = __commonJS({
637
641
  if (!seekTime) {
638
642
  applyResumeSeekState(parseResumeSeekFromVars());
639
643
  }
644
+ if (seekTime > 0) {
645
+ autoplayPending = false;
646
+ }
640
647
  }, hlsSeekTo = function(target, force) {
641
648
  if (!hls || typeof hls.startLoad !== "function" || !video) {
642
649
  return false;
@@ -645,25 +652,27 @@ var require_ckplayer = __commonJS({
645
652
  target = 0;
646
653
  }
647
654
  var curTime = video.currentTime || 0;
648
- if (!force) {
649
- if (hlsResumeTarget >= 0 && Math.abs(hlsResumeTarget - target) < 1.5) {
650
- if (timeInBuffered(target) && Math.abs(curTime - target) < 2.5) {
651
- return true;
652
- }
655
+ hlsResumeTarget = target;
656
+ if (!force && timeInBuffered(target)) {
657
+ if (Math.abs(curTime - target) < 1.5) {
658
+ return true;
653
659
  }
654
- if (timeInBuffered(target) && Math.abs(curTime - target) < 1.5) {
655
- hlsResumeTarget = target;
660
+ if (hlsCanSafelySeekTo(target)) {
661
+ finishResumeSeek(target);
656
662
  return true;
657
663
  }
658
- if (hlsLoadAt >= 0 && Math.abs(hlsLoadAt - target) < 1.5 && Date.now() - hlsLoadTs < 4e3) {
664
+ }
665
+ var loadAt = hlsPriorLoadTime(target);
666
+ if (!force) {
667
+ if (hlsLoadAt >= 0 && Math.abs(hlsLoadAt - loadAt) < 1.5 && Date.now() - hlsLoadTs < 4e3) {
659
668
  return true;
660
669
  }
661
670
  }
662
- hlsLoadAt = target;
671
+ hlsLoadAt = loadAt;
663
672
  hlsLoadTs = Date.now();
664
- hlsResumeTarget = target;
673
+ hlsResumeWarmup = true;
665
674
  try {
666
- hls.startLoad(target);
675
+ hls.startLoad(loadAt);
667
676
  } catch (event2) {
668
677
  return false;
669
678
  }
@@ -836,6 +845,7 @@ var require_ckplayer = __commonJS({
836
845
  seekTime = resumeAt;
837
846
  hlsResumeTarget = resumeAt;
838
847
  hlsResumeWarmup = true;
848
+ hlsConf.autoStartLoad = false;
839
849
  }
840
850
  hls = new Hls(hlsConf);
841
851
  hls.loadSource(url);
@@ -843,6 +853,9 @@ var require_ckplayer = __commonJS({
843
853
  hls.on(Hls.Events.MANIFEST_PARSED, function() {
844
854
  if (hlsResumeWarmup && seekTime > 0) {
845
855
  var loadAt = hlsPriorLoadTime(seekTime);
856
+ hlsLoadAt = loadAt;
857
+ hlsLoadTs = Date.now();
858
+ hlsStartPositionUsed = true;
846
859
  try {
847
860
  hls.startLoad(loadAt);
848
861
  } catch (event2) {
@@ -856,9 +869,12 @@ var require_ckplayer = __commonJS({
856
869
  finishResumeSeek(target);
857
870
  return;
858
871
  }
859
- var snap = hlsPriorLoadTime(target);
860
- hlsResumeWarmup = false;
861
- finishResumeSeek(snap);
872
+ var snap = hlsFragStartTime(target);
873
+ if (timeInBuffered(snap) || hlsCanSafelySeekTo(snap)) {
874
+ finishResumeSeek(snap);
875
+ return;
876
+ }
877
+ finishResumeSeek(Math.max(0, loadAt));
862
878
  }, 5e3);
863
879
  return;
864
880
  }
@@ -1605,8 +1621,8 @@ var require_ckplayer = __commonJS({
1605
1621
  } catch (event2) {
1606
1622
  }
1607
1623
  return false;
1608
- }, hlsFragAround = function(t) {
1609
- if (!hls || isNaN(t) || t < 0) {
1624
+ }, hlsGetFragments = function() {
1625
+ if (!hls) {
1610
1626
  return null;
1611
1627
  }
1612
1628
  try {
@@ -1623,6 +1639,19 @@ var require_ckplayer = __commonJS({
1623
1639
  if (!frags || !frags.length) {
1624
1640
  return null;
1625
1641
  }
1642
+ return frags;
1643
+ } catch (event2) {
1644
+ }
1645
+ return null;
1646
+ }, hlsFragAround = function(t) {
1647
+ if (!hls || isNaN(t) || t < 0) {
1648
+ return null;
1649
+ }
1650
+ try {
1651
+ var frags = hlsGetFragments();
1652
+ if (!frags) {
1653
+ return null;
1654
+ }
1626
1655
  for (var i = 0; i < frags.length; i++) {
1627
1656
  var f = frags[i];
1628
1657
  if (!f) {
@@ -1638,7 +1667,24 @@ var require_ckplayer = __commonJS({
1638
1667
  } catch (event2) {
1639
1668
  }
1640
1669
  return null;
1641
- }, hlsPriorLoadTime = function(t) {
1670
+ }, hlsFragIndexAround = function(t) {
1671
+ var frags = hlsGetFragments();
1672
+ if (!frags || isNaN(t) || t < 0) {
1673
+ return -1;
1674
+ }
1675
+ for (var i = 0; i < frags.length; i++) {
1676
+ var f = frags[i];
1677
+ if (!f) {
1678
+ continue;
1679
+ }
1680
+ var start = f.start || 0;
1681
+ var end = start + (f.duration || 0);
1682
+ if (t >= start - 0.05 && t < end + 0.05) {
1683
+ return i;
1684
+ }
1685
+ }
1686
+ return frags.length - 1;
1687
+ }, hlsFragStartTime = function(t) {
1642
1688
  if (isNaN(t) || t <= 0) {
1643
1689
  return 0;
1644
1690
  }
@@ -1646,6 +1692,27 @@ var require_ckplayer = __commonJS({
1646
1692
  if (frag && !isUndefined(frag.start)) {
1647
1693
  return Math.max(0, frag.start);
1648
1694
  }
1695
+ return Math.max(0, t);
1696
+ }, hlsPriorLoadTime = function(t) {
1697
+ if (isNaN(t) || t <= 0) {
1698
+ return 0;
1699
+ }
1700
+ var frags = hlsGetFragments();
1701
+ if (frags && frags.length) {
1702
+ var idx = hlsFragIndexAround(t);
1703
+ if (idx < 0) {
1704
+ idx = frags.length - 1;
1705
+ }
1706
+ var loadIdx = Math.max(0, idx - 1);
1707
+ var loadFrag = frags[loadIdx];
1708
+ if (loadFrag && !isUndefined(loadFrag.start)) {
1709
+ return Math.max(0, loadFrag.start);
1710
+ }
1711
+ }
1712
+ var frag = hlsFragAround(t);
1713
+ if (frag && !isUndefined(frag.start)) {
1714
+ return Math.max(0, frag.start - 12);
1715
+ }
1649
1716
  return Math.max(0, t - 12);
1650
1717
  }, hlsCanSafelySeekTo = function(t) {
1651
1718
  if (!video || isUndefined(video.buffered) || isNaN(t) || t < 0) {
@@ -1654,13 +1721,13 @@ var require_ckplayer = __commonJS({
1654
1721
  if (!timeInBuffered(t)) {
1655
1722
  return false;
1656
1723
  }
1657
- var fragStart = hlsPriorLoadTime(t);
1724
+ var loadStart = hlsPriorLoadTime(t);
1658
1725
  try {
1659
1726
  var buf = video.buffered;
1660
1727
  for (var i = 0; i < buf.length; i++) {
1661
1728
  var start = buf.start(i);
1662
1729
  var end = buf.end(i);
1663
- if (fragStart >= start - 0.35 && t <= end + 0.15) {
1730
+ if (loadStart >= start - 0.35 && t <= end + 0.15) {
1664
1731
  return true;
1665
1732
  }
1666
1733
  }
@@ -1669,25 +1736,28 @@ var require_ckplayer = __commonJS({
1669
1736
  return false;
1670
1737
  }, finishResumeSeek = function(t) {
1671
1738
  hlsResumeWarmup = false;
1739
+ autoplayPending = false;
1672
1740
  applySeekToMedia(t);
1673
1741
  setTimeout(function() {
1674
1742
  if (!video) {
1675
1743
  return;
1676
1744
  }
1745
+ try {
1746
+ video.pause();
1747
+ } catch (event2) {
1748
+ }
1749
+ paused = true;
1677
1750
  if (C["buffer"]) {
1678
1751
  C["buffer"].hide();
1679
1752
  }
1680
1753
  waited = true;
1681
- if (vars["autoplay"] || autoplayPending) {
1682
- try {
1683
- var p = video.play();
1684
- if (p && typeof p.then === "function") {
1685
- p.catch(function() {
1686
- });
1687
- }
1688
- } catch (event2) {
1689
- }
1690
- autoplayPending = false;
1754
+ if (!vars["controls"] && C["centerPlay"]) {
1755
+ C["centerPlay"].show();
1756
+ }
1757
+ if (C["bar"] && C["bar"]["playAndPause"]) {
1758
+ C["bar"]["playAndPause"]["pause"].hide();
1759
+ C["bar"]["playAndPause"]["play"].show();
1760
+ C["bar"]["playAndPause"]["refresh"].hide();
1691
1761
  }
1692
1762
  }, 120);
1693
1763
  }, clearSeekRetry = function() {
@@ -1738,19 +1808,28 @@ var require_ckplayer = __commonJS({
1738
1808
  firstSeekTime = t;
1739
1809
  }
1740
1810
  }
1741
- if (hlsResumeWarmup) {
1811
+ if (hls && typeof hls.startLoad === "function") {
1742
1812
  if (hlsCanSafelySeekTo(t)) {
1743
1813
  finishResumeSeek(t);
1814
+ return;
1744
1815
  }
1745
- return;
1746
- }
1747
- if (hls && typeof hls.startLoad === "function") {
1748
- if (!hlsCanSafelySeekTo(t) && t > 1) {
1816
+ if (t > 1) {
1749
1817
  hlsResumeWarmup = true;
1750
1818
  hlsResumeTarget = t;
1751
- try {
1752
- hls.startLoad(hlsPriorLoadTime(t));
1753
- } catch (event2) {
1819
+ var loadAt = hlsPriorLoadTime(t);
1820
+ var shouldLoad = !!force;
1821
+ if (!shouldLoad) {
1822
+ if (!(hlsLoadAt >= 0 && Math.abs(hlsLoadAt - loadAt) < 1.5 && Date.now() - hlsLoadTs < 4e3)) {
1823
+ shouldLoad = true;
1824
+ }
1825
+ }
1826
+ if (shouldLoad) {
1827
+ hlsLoadAt = loadAt;
1828
+ hlsLoadTs = Date.now();
1829
+ try {
1830
+ hls.startLoad(loadAt);
1831
+ } catch (event2) {
1832
+ }
1754
1833
  }
1755
1834
  seekRetryCount++;
1756
1835
  if (seekRetryCount <= 50) {
@@ -1763,11 +1842,6 @@ var require_ckplayer = __commonJS({
1763
1842
  }
1764
1843
  return;
1765
1844
  }
1766
- if (hlsSeekTo(t, !!force)) {
1767
- clearSeekRetry();
1768
- seekTime = 0;
1769
- return;
1770
- }
1771
1845
  }
1772
1846
  if (!force && (!isUndefined(video.readyState) && video.readyState < 1)) {
1773
1847
  seekRetryCount++;
@@ -2067,7 +2141,7 @@ var require_ckplayer = __commonJS({
2067
2141
  eventTarget("seeked");
2068
2142
  },
2069
2143
  seeking: function() {
2070
- if (paused && !seekApplyLock && !hlsResumeWarmup && !seekTime) {
2144
+ if (paused && !seekApplyLock && !hlsResumeWarmup && !seekTime && !autoplayPending) {
2071
2145
  player.play();
2072
2146
  }
2073
2147
  var seekingTime = this.currentTime;
@@ -3030,20 +3104,19 @@ var require_ckplayer = __commonJS({
3030
3104
  applyPendingSeek(false);
3031
3105
  return player;
3032
3106
  }
3033
- if (hls && target > 1 && !hlsCanSafelySeekTo(target)) {
3107
+ if (hls) {
3034
3108
  seekTime = target;
3035
- hlsResumeWarmup = true;
3036
3109
  hlsResumeTarget = target;
3037
- try {
3038
- hls.startLoad(hlsPriorLoadTime(target));
3039
- } catch (event2) {
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);
3118
+ return player;
3040
3119
  }
3041
- applyPendingSeek(false);
3042
- return player;
3043
- }
3044
- if (hlsSeekTo(target, false)) {
3045
- seekTime = 0;
3046
- return player;
3047
3120
  }
3048
3121
  try {
3049
3122
  video.currentTime = target;
@@ -4267,7 +4340,10 @@ var require_ckplayer = __commonJS({
4267
4340
  }
4268
4341
  }
4269
4342
  seekTime = player.time();
4270
- video.attr("autoplay", "autoplay");
4343
+ try {
4344
+ video.removeAttr("autoplay");
4345
+ } catch (event2) {
4346
+ }
4271
4347
  changeVideo(ele.attr("data-video"));
4272
4348
  message(language["switchTo"] + ele.htm());
4273
4349
  C["bar"]["definition"]["button"].htm(ele.htm());
@@ -6259,7 +6335,7 @@ var require_ckplayer = __commonJS({
6259
6335
  if (!isRetry && (!vars || vars["cdnFallback"] !== false)) {
6260
6336
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
6261
6337
  var m = String(file).match(/\/(hls\.js|flv\.js|mpegts\.js|language)\/([^/?#]+)(?:[?#].*)?$/i);
6262
- if (cdn && cdn.indexOf("1.1.2") === -1 && m) {
6338
+ if (cdn && cdn.indexOf("1.1.4") === -1 && m) {
6263
6339
  if (cdn.slice(-1) !== "/") {
6264
6340
  cdn += "/";
6265
6341
  }