ckplayer-plus 1.0.0 → 1.0.1

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
@@ -656,12 +656,13 @@ var require_ckplayer = __commonJS({
656
656
  if (!isUndefined(vars["seek"]) && !seekTime) {
657
657
  if (valType(vars["seek"]) == "number" && vars["seek"] > 0) {
658
658
  seekTime = vars["seek"];
659
- }
660
- if (valType(vars["seek"]) == "string" && vars["seek"] == "cookie" && cookieName) {
659
+ } else if (valType(vars["seek"]) == "string" && vars["seek"] == "cookie" && cookieName) {
661
660
  var cke = player.cookie(cookieName);
662
661
  if (cke) {
663
662
  seekTime = cke["time"];
664
663
  }
664
+ } else if (valType(vars["seek"]) == "string" && vars["seek"] !== "" && !isNaN(parseFloat(vars["seek"]))) {
665
+ seekTime = parseFloat(vars["seek"]);
665
666
  }
666
667
  }
667
668
  }, plugPlayer = function(url) {
@@ -696,6 +697,9 @@ var require_ckplayer = __commonJS({
696
697
  hls = new Hls();
697
698
  hls.loadSource(url);
698
699
  hls.attachMedia(video);
700
+ hls.on(Hls.Events.MANIFEST_PARSED, function() {
701
+ applyPendingSeek();
702
+ });
699
703
  hls.on(Hls.Events.ERROR, function(event2, data) {
700
704
  var code = 9;
701
705
  var message2 = language["error"]["loadingFailed"];
@@ -1393,6 +1397,24 @@ var require_ckplayer = __commonJS({
1393
1397
  checkTrack();
1394
1398
  }
1395
1399
  }
1400
+ }, applyPendingSeek = function() {
1401
+ if (!seekTime || !video) {
1402
+ return;
1403
+ }
1404
+ if (!isUndefined(vars["live"]) && (valType(vars["live"]) == "boolean" && vars["live"] || valType(vars["live"]) == "number")) {
1405
+ return;
1406
+ }
1407
+ var t = seekTime;
1408
+ var dur = duration || video.duration || 0;
1409
+ if (dur && isFinite(dur) && dur > 0 && t >= dur) {
1410
+ t = Math.max(0, dur - 0.3);
1411
+ }
1412
+ seekTime = 0;
1413
+ try {
1414
+ video.currentTime = t;
1415
+ } catch (event2) {
1416
+ seekTime = t;
1417
+ }
1396
1418
  }, loadedMetaData = function() {
1397
1419
  eventTarget("loadedMetaData", {
1398
1420
  width: CK.getWidth(),
@@ -1434,6 +1456,7 @@ var require_ckplayer = __commonJS({
1434
1456
  canPlay: function() {
1435
1457
  C["loading"].hide();
1436
1458
  eventTarget("canplay");
1459
+ applyPendingSeek();
1437
1460
  },
1438
1461
  loadedData: function() {
1439
1462
  eventTarget("loadeddata");
@@ -1462,6 +1485,7 @@ var require_ckplayer = __commonJS({
1462
1485
  if (CT.videoWidth || CT.videoHeight || duration) {
1463
1486
  loadedMetaData();
1464
1487
  }
1488
+ applyPendingSeek();
1465
1489
  var len = 0;
1466
1490
  if (!isUndefined(this.buffered)) {
1467
1491
  len = this.buffered.length;
@@ -1517,6 +1541,7 @@ var require_ckplayer = __commonJS({
1517
1541
  if (CT.videoWidth || CT.videoHeight || duration) {
1518
1542
  loadedMetaData();
1519
1543
  }
1544
+ applyPendingSeek();
1520
1545
  }
1521
1546
  oldTime = playTime;
1522
1547
  playTime = this.currentTime;
@@ -1728,9 +1753,8 @@ var require_ckplayer = __commonJS({
1728
1753
  }
1729
1754
  }
1730
1755
  }
1731
- if (seekTime && (isUndefined(vars["live"]) || !isUndefined(vars["live"]) && valType(vars["live"]) == "boolean" && !vars["live"]) && seekTime < parseInt(duration * 100) * 0.01) {
1732
- player.seek(seekTime);
1733
- seekTime = 0;
1756
+ if (seekTime && (isUndefined(vars["live"]) || !isUndefined(vars["live"]) && valType(vars["live"]) == "boolean" && !vars["live"])) {
1757
+ applyPendingSeek();
1734
1758
  }
1735
1759
  },
1736
1760
  pause: function() {
@@ -2496,52 +2520,84 @@ var require_ckplayer = __commonJS({
2496
2520
  /*
2497
2521
  * seek
2498
2522
  * 功能:监听跳转/执行跳转操作
2499
- * @fn为函数时则监听视频跳转动作,@fn为数字时执行跳转操作
2523
+ * @fn为函数时则监听视频跳转动作,@fn为数字(或数字字符串)时执行跳转操作
2500
2524
  */
2501
2525
  seek: function(fn2) {
2502
2526
  if (!isUndefined(fn2)) {
2503
2527
  if (valType(fn2) == "function") {
2504
2528
  newEvent.addEventListener("seek", fn2);
2505
- }
2506
- if (valType(fn2) == "number" && video) {
2507
- switch (vars["timeScheduleAdjust"]) {
2508
- case 0:
2509
- message(language["timeScheduleAdjust"]["prohibit"]);
2510
- return;
2511
- break;
2512
- case 1:
2513
- break;
2514
- case 2:
2515
- if (fn2 < oldTime) {
2516
- message(language["timeScheduleAdjust"]["prohibitBackOff"]);
2517
- return;
2518
- }
2519
- break;
2520
- case 3:
2521
- if (fn2 > oldTime) {
2522
- message(language["timeScheduleAdjust"]["prohibitForward"]);
2523
- return;
2524
- }
2525
- break;
2526
- case 4:
2527
- if (fn2 < firstSeekTime) {
2528
- waitingMessage = false;
2529
- video.currentTime = firstSeekTime;
2530
- message(language["timeScheduleAdjust"]["prohibitLookBack"]);
2531
- return;
2532
- }
2533
- break;
2534
- case 5:
2535
- if (fn2 > maxSeeTime) {
2536
- waitingMessage = false;
2537
- video.currentTime = maxSeeTime;
2538
- message(language["timeScheduleAdjust"]["prohibitForwardNotViewed"]);
2539
- return;
2529
+ } else {
2530
+ var target = null;
2531
+ if (valType(fn2) == "number" && !isNaN(fn2)) {
2532
+ target = fn2;
2533
+ } else if (valType(fn2) == "string" && fn2 !== "" && fn2 !== "cookie" && !isNaN(parseFloat(fn2))) {
2534
+ target = parseFloat(fn2);
2535
+ }
2536
+ if (target !== null && video) {
2537
+ switch (vars["timeScheduleAdjust"]) {
2538
+ case 0:
2539
+ message(language["timeScheduleAdjust"]["prohibit"]);
2540
+ return player;
2541
+ case 1:
2542
+ break;
2543
+ case 2:
2544
+ if (target < oldTime) {
2545
+ message(language["timeScheduleAdjust"]["prohibitBackOff"]);
2546
+ return player;
2547
+ }
2548
+ break;
2549
+ case 3:
2550
+ if (target > oldTime) {
2551
+ message(language["timeScheduleAdjust"]["prohibitForward"]);
2552
+ return player;
2553
+ }
2554
+ break;
2555
+ case 4:
2556
+ if (target < firstSeekTime) {
2557
+ waitingMessage = false;
2558
+ try {
2559
+ video.currentTime = firstSeekTime;
2560
+ } catch (event2) {
2561
+ }
2562
+ message(language["timeScheduleAdjust"]["prohibitLookBack"]);
2563
+ return player;
2564
+ }
2565
+ break;
2566
+ case 5:
2567
+ if (target > maxSeeTime) {
2568
+ waitingMessage = false;
2569
+ try {
2570
+ video.currentTime = maxSeeTime;
2571
+ } catch (event2) {
2572
+ }
2573
+ message(language["timeScheduleAdjust"]["prohibitForwardNotViewed"]);
2574
+ return player;
2575
+ }
2576
+ break;
2577
+ }
2578
+ pSliderMouseDown = false;
2579
+ var ready = video.readyState >= 2 || duration && isFinite(duration) && duration > 0;
2580
+ if (!ready) {
2581
+ seekTime = target;
2582
+ try {
2583
+ video.currentTime = target;
2584
+ } catch (event2) {
2540
2585
  }
2541
- break;
2586
+ return player;
2587
+ }
2588
+ if (duration && isFinite(duration) && duration > 0 && target > duration) {
2589
+ target = Math.max(0, duration - 0.3);
2590
+ }
2591
+ if (target < 0) {
2592
+ target = 0;
2593
+ }
2594
+ try {
2595
+ video.currentTime = target;
2596
+ seekTime = 0;
2597
+ } catch (event2) {
2598
+ seekTime = target;
2599
+ }
2542
2600
  }
2543
- pSliderMouseDown = false;
2544
- video.currentTime = fn2;
2545
2601
  }
2546
2602
  }
2547
2603
  return player;
package/dist/index.js CHANGED
@@ -651,12 +651,13 @@ var require_ckplayer = __commonJS({
651
651
  if (!isUndefined(vars["seek"]) && !seekTime) {
652
652
  if (valType(vars["seek"]) == "number" && vars["seek"] > 0) {
653
653
  seekTime = vars["seek"];
654
- }
655
- if (valType(vars["seek"]) == "string" && vars["seek"] == "cookie" && cookieName) {
654
+ } else if (valType(vars["seek"]) == "string" && vars["seek"] == "cookie" && cookieName) {
656
655
  var cke = player.cookie(cookieName);
657
656
  if (cke) {
658
657
  seekTime = cke["time"];
659
658
  }
659
+ } else if (valType(vars["seek"]) == "string" && vars["seek"] !== "" && !isNaN(parseFloat(vars["seek"]))) {
660
+ seekTime = parseFloat(vars["seek"]);
660
661
  }
661
662
  }
662
663
  }, plugPlayer = function(url) {
@@ -691,6 +692,9 @@ var require_ckplayer = __commonJS({
691
692
  hls = new Hls();
692
693
  hls.loadSource(url);
693
694
  hls.attachMedia(video);
695
+ hls.on(Hls.Events.MANIFEST_PARSED, function() {
696
+ applyPendingSeek();
697
+ });
694
698
  hls.on(Hls.Events.ERROR, function(event2, data) {
695
699
  var code = 9;
696
700
  var message2 = language["error"]["loadingFailed"];
@@ -1388,6 +1392,24 @@ var require_ckplayer = __commonJS({
1388
1392
  checkTrack();
1389
1393
  }
1390
1394
  }
1395
+ }, applyPendingSeek = function() {
1396
+ if (!seekTime || !video) {
1397
+ return;
1398
+ }
1399
+ if (!isUndefined(vars["live"]) && (valType(vars["live"]) == "boolean" && vars["live"] || valType(vars["live"]) == "number")) {
1400
+ return;
1401
+ }
1402
+ var t = seekTime;
1403
+ var dur = duration || video.duration || 0;
1404
+ if (dur && isFinite(dur) && dur > 0 && t >= dur) {
1405
+ t = Math.max(0, dur - 0.3);
1406
+ }
1407
+ seekTime = 0;
1408
+ try {
1409
+ video.currentTime = t;
1410
+ } catch (event2) {
1411
+ seekTime = t;
1412
+ }
1391
1413
  }, loadedMetaData = function() {
1392
1414
  eventTarget("loadedMetaData", {
1393
1415
  width: CK.getWidth(),
@@ -1429,6 +1451,7 @@ var require_ckplayer = __commonJS({
1429
1451
  canPlay: function() {
1430
1452
  C["loading"].hide();
1431
1453
  eventTarget("canplay");
1454
+ applyPendingSeek();
1432
1455
  },
1433
1456
  loadedData: function() {
1434
1457
  eventTarget("loadeddata");
@@ -1457,6 +1480,7 @@ var require_ckplayer = __commonJS({
1457
1480
  if (CT.videoWidth || CT.videoHeight || duration) {
1458
1481
  loadedMetaData();
1459
1482
  }
1483
+ applyPendingSeek();
1460
1484
  var len = 0;
1461
1485
  if (!isUndefined(this.buffered)) {
1462
1486
  len = this.buffered.length;
@@ -1512,6 +1536,7 @@ var require_ckplayer = __commonJS({
1512
1536
  if (CT.videoWidth || CT.videoHeight || duration) {
1513
1537
  loadedMetaData();
1514
1538
  }
1539
+ applyPendingSeek();
1515
1540
  }
1516
1541
  oldTime = playTime;
1517
1542
  playTime = this.currentTime;
@@ -1723,9 +1748,8 @@ var require_ckplayer = __commonJS({
1723
1748
  }
1724
1749
  }
1725
1750
  }
1726
- if (seekTime && (isUndefined(vars["live"]) || !isUndefined(vars["live"]) && valType(vars["live"]) == "boolean" && !vars["live"]) && seekTime < parseInt(duration * 100) * 0.01) {
1727
- player.seek(seekTime);
1728
- seekTime = 0;
1751
+ if (seekTime && (isUndefined(vars["live"]) || !isUndefined(vars["live"]) && valType(vars["live"]) == "boolean" && !vars["live"])) {
1752
+ applyPendingSeek();
1729
1753
  }
1730
1754
  },
1731
1755
  pause: function() {
@@ -2491,52 +2515,84 @@ var require_ckplayer = __commonJS({
2491
2515
  /*
2492
2516
  * seek
2493
2517
  * 功能:监听跳转/执行跳转操作
2494
- * @fn为函数时则监听视频跳转动作,@fn为数字时执行跳转操作
2518
+ * @fn为函数时则监听视频跳转动作,@fn为数字(或数字字符串)时执行跳转操作
2495
2519
  */
2496
2520
  seek: function(fn2) {
2497
2521
  if (!isUndefined(fn2)) {
2498
2522
  if (valType(fn2) == "function") {
2499
2523
  newEvent.addEventListener("seek", fn2);
2500
- }
2501
- if (valType(fn2) == "number" && video) {
2502
- switch (vars["timeScheduleAdjust"]) {
2503
- case 0:
2504
- message(language["timeScheduleAdjust"]["prohibit"]);
2505
- return;
2506
- break;
2507
- case 1:
2508
- break;
2509
- case 2:
2510
- if (fn2 < oldTime) {
2511
- message(language["timeScheduleAdjust"]["prohibitBackOff"]);
2512
- return;
2513
- }
2514
- break;
2515
- case 3:
2516
- if (fn2 > oldTime) {
2517
- message(language["timeScheduleAdjust"]["prohibitForward"]);
2518
- return;
2519
- }
2520
- break;
2521
- case 4:
2522
- if (fn2 < firstSeekTime) {
2523
- waitingMessage = false;
2524
- video.currentTime = firstSeekTime;
2525
- message(language["timeScheduleAdjust"]["prohibitLookBack"]);
2526
- return;
2527
- }
2528
- break;
2529
- case 5:
2530
- if (fn2 > maxSeeTime) {
2531
- waitingMessage = false;
2532
- video.currentTime = maxSeeTime;
2533
- message(language["timeScheduleAdjust"]["prohibitForwardNotViewed"]);
2534
- return;
2524
+ } else {
2525
+ var target = null;
2526
+ if (valType(fn2) == "number" && !isNaN(fn2)) {
2527
+ target = fn2;
2528
+ } else if (valType(fn2) == "string" && fn2 !== "" && fn2 !== "cookie" && !isNaN(parseFloat(fn2))) {
2529
+ target = parseFloat(fn2);
2530
+ }
2531
+ if (target !== null && video) {
2532
+ switch (vars["timeScheduleAdjust"]) {
2533
+ case 0:
2534
+ message(language["timeScheduleAdjust"]["prohibit"]);
2535
+ return player;
2536
+ case 1:
2537
+ break;
2538
+ case 2:
2539
+ if (target < oldTime) {
2540
+ message(language["timeScheduleAdjust"]["prohibitBackOff"]);
2541
+ return player;
2542
+ }
2543
+ break;
2544
+ case 3:
2545
+ if (target > oldTime) {
2546
+ message(language["timeScheduleAdjust"]["prohibitForward"]);
2547
+ return player;
2548
+ }
2549
+ break;
2550
+ case 4:
2551
+ if (target < firstSeekTime) {
2552
+ waitingMessage = false;
2553
+ try {
2554
+ video.currentTime = firstSeekTime;
2555
+ } catch (event2) {
2556
+ }
2557
+ message(language["timeScheduleAdjust"]["prohibitLookBack"]);
2558
+ return player;
2559
+ }
2560
+ break;
2561
+ case 5:
2562
+ if (target > maxSeeTime) {
2563
+ waitingMessage = false;
2564
+ try {
2565
+ video.currentTime = maxSeeTime;
2566
+ } catch (event2) {
2567
+ }
2568
+ message(language["timeScheduleAdjust"]["prohibitForwardNotViewed"]);
2569
+ return player;
2570
+ }
2571
+ break;
2572
+ }
2573
+ pSliderMouseDown = false;
2574
+ var ready = video.readyState >= 2 || duration && isFinite(duration) && duration > 0;
2575
+ if (!ready) {
2576
+ seekTime = target;
2577
+ try {
2578
+ video.currentTime = target;
2579
+ } catch (event2) {
2535
2580
  }
2536
- break;
2581
+ return player;
2582
+ }
2583
+ if (duration && isFinite(duration) && duration > 0 && target > duration) {
2584
+ target = Math.max(0, duration - 0.3);
2585
+ }
2586
+ if (target < 0) {
2587
+ target = 0;
2588
+ }
2589
+ try {
2590
+ video.currentTime = target;
2591
+ seekTime = 0;
2592
+ } catch (event2) {
2593
+ seekTime = target;
2594
+ }
2537
2595
  }
2538
- pSliderMouseDown = false;
2539
- video.currentTime = fn2;
2540
2596
  }
2541
2597
  }
2542
2598
  return player;
package/dist/react.cjs CHANGED
@@ -656,12 +656,13 @@ var require_ckplayer = __commonJS({
656
656
  if (!isUndefined(vars["seek"]) && !seekTime) {
657
657
  if (valType(vars["seek"]) == "number" && vars["seek"] > 0) {
658
658
  seekTime = vars["seek"];
659
- }
660
- if (valType(vars["seek"]) == "string" && vars["seek"] == "cookie" && cookieName) {
659
+ } else if (valType(vars["seek"]) == "string" && vars["seek"] == "cookie" && cookieName) {
661
660
  var cke = player.cookie(cookieName);
662
661
  if (cke) {
663
662
  seekTime = cke["time"];
664
663
  }
664
+ } else if (valType(vars["seek"]) == "string" && vars["seek"] !== "" && !isNaN(parseFloat(vars["seek"]))) {
665
+ seekTime = parseFloat(vars["seek"]);
665
666
  }
666
667
  }
667
668
  }, plugPlayer = function(url) {
@@ -696,6 +697,9 @@ var require_ckplayer = __commonJS({
696
697
  hls = new Hls();
697
698
  hls.loadSource(url);
698
699
  hls.attachMedia(video);
700
+ hls.on(Hls.Events.MANIFEST_PARSED, function() {
701
+ applyPendingSeek();
702
+ });
699
703
  hls.on(Hls.Events.ERROR, function(event2, data) {
700
704
  var code = 9;
701
705
  var message2 = language["error"]["loadingFailed"];
@@ -1393,6 +1397,24 @@ var require_ckplayer = __commonJS({
1393
1397
  checkTrack();
1394
1398
  }
1395
1399
  }
1400
+ }, applyPendingSeek = function() {
1401
+ if (!seekTime || !video) {
1402
+ return;
1403
+ }
1404
+ if (!isUndefined(vars["live"]) && (valType(vars["live"]) == "boolean" && vars["live"] || valType(vars["live"]) == "number")) {
1405
+ return;
1406
+ }
1407
+ var t = seekTime;
1408
+ var dur = duration || video.duration || 0;
1409
+ if (dur && isFinite(dur) && dur > 0 && t >= dur) {
1410
+ t = Math.max(0, dur - 0.3);
1411
+ }
1412
+ seekTime = 0;
1413
+ try {
1414
+ video.currentTime = t;
1415
+ } catch (event2) {
1416
+ seekTime = t;
1417
+ }
1396
1418
  }, loadedMetaData = function() {
1397
1419
  eventTarget("loadedMetaData", {
1398
1420
  width: CK.getWidth(),
@@ -1434,6 +1456,7 @@ var require_ckplayer = __commonJS({
1434
1456
  canPlay: function() {
1435
1457
  C["loading"].hide();
1436
1458
  eventTarget("canplay");
1459
+ applyPendingSeek();
1437
1460
  },
1438
1461
  loadedData: function() {
1439
1462
  eventTarget("loadeddata");
@@ -1462,6 +1485,7 @@ var require_ckplayer = __commonJS({
1462
1485
  if (CT.videoWidth || CT.videoHeight || duration) {
1463
1486
  loadedMetaData();
1464
1487
  }
1488
+ applyPendingSeek();
1465
1489
  var len = 0;
1466
1490
  if (!isUndefined(this.buffered)) {
1467
1491
  len = this.buffered.length;
@@ -1517,6 +1541,7 @@ var require_ckplayer = __commonJS({
1517
1541
  if (CT.videoWidth || CT.videoHeight || duration) {
1518
1542
  loadedMetaData();
1519
1543
  }
1544
+ applyPendingSeek();
1520
1545
  }
1521
1546
  oldTime = playTime;
1522
1547
  playTime = this.currentTime;
@@ -1728,9 +1753,8 @@ var require_ckplayer = __commonJS({
1728
1753
  }
1729
1754
  }
1730
1755
  }
1731
- if (seekTime && (isUndefined(vars["live"]) || !isUndefined(vars["live"]) && valType(vars["live"]) == "boolean" && !vars["live"]) && seekTime < parseInt(duration * 100) * 0.01) {
1732
- player.seek(seekTime);
1733
- seekTime = 0;
1756
+ if (seekTime && (isUndefined(vars["live"]) || !isUndefined(vars["live"]) && valType(vars["live"]) == "boolean" && !vars["live"])) {
1757
+ applyPendingSeek();
1734
1758
  }
1735
1759
  },
1736
1760
  pause: function() {
@@ -2496,52 +2520,84 @@ var require_ckplayer = __commonJS({
2496
2520
  /*
2497
2521
  * seek
2498
2522
  * 功能:监听跳转/执行跳转操作
2499
- * @fn为函数时则监听视频跳转动作,@fn为数字时执行跳转操作
2523
+ * @fn为函数时则监听视频跳转动作,@fn为数字(或数字字符串)时执行跳转操作
2500
2524
  */
2501
2525
  seek: function(fn2) {
2502
2526
  if (!isUndefined(fn2)) {
2503
2527
  if (valType(fn2) == "function") {
2504
2528
  newEvent.addEventListener("seek", fn2);
2505
- }
2506
- if (valType(fn2) == "number" && video) {
2507
- switch (vars["timeScheduleAdjust"]) {
2508
- case 0:
2509
- message(language["timeScheduleAdjust"]["prohibit"]);
2510
- return;
2511
- break;
2512
- case 1:
2513
- break;
2514
- case 2:
2515
- if (fn2 < oldTime) {
2516
- message(language["timeScheduleAdjust"]["prohibitBackOff"]);
2517
- return;
2518
- }
2519
- break;
2520
- case 3:
2521
- if (fn2 > oldTime) {
2522
- message(language["timeScheduleAdjust"]["prohibitForward"]);
2523
- return;
2524
- }
2525
- break;
2526
- case 4:
2527
- if (fn2 < firstSeekTime) {
2528
- waitingMessage = false;
2529
- video.currentTime = firstSeekTime;
2530
- message(language["timeScheduleAdjust"]["prohibitLookBack"]);
2531
- return;
2532
- }
2533
- break;
2534
- case 5:
2535
- if (fn2 > maxSeeTime) {
2536
- waitingMessage = false;
2537
- video.currentTime = maxSeeTime;
2538
- message(language["timeScheduleAdjust"]["prohibitForwardNotViewed"]);
2539
- return;
2529
+ } else {
2530
+ var target = null;
2531
+ if (valType(fn2) == "number" && !isNaN(fn2)) {
2532
+ target = fn2;
2533
+ } else if (valType(fn2) == "string" && fn2 !== "" && fn2 !== "cookie" && !isNaN(parseFloat(fn2))) {
2534
+ target = parseFloat(fn2);
2535
+ }
2536
+ if (target !== null && video) {
2537
+ switch (vars["timeScheduleAdjust"]) {
2538
+ case 0:
2539
+ message(language["timeScheduleAdjust"]["prohibit"]);
2540
+ return player;
2541
+ case 1:
2542
+ break;
2543
+ case 2:
2544
+ if (target < oldTime) {
2545
+ message(language["timeScheduleAdjust"]["prohibitBackOff"]);
2546
+ return player;
2547
+ }
2548
+ break;
2549
+ case 3:
2550
+ if (target > oldTime) {
2551
+ message(language["timeScheduleAdjust"]["prohibitForward"]);
2552
+ return player;
2553
+ }
2554
+ break;
2555
+ case 4:
2556
+ if (target < firstSeekTime) {
2557
+ waitingMessage = false;
2558
+ try {
2559
+ video.currentTime = firstSeekTime;
2560
+ } catch (event2) {
2561
+ }
2562
+ message(language["timeScheduleAdjust"]["prohibitLookBack"]);
2563
+ return player;
2564
+ }
2565
+ break;
2566
+ case 5:
2567
+ if (target > maxSeeTime) {
2568
+ waitingMessage = false;
2569
+ try {
2570
+ video.currentTime = maxSeeTime;
2571
+ } catch (event2) {
2572
+ }
2573
+ message(language["timeScheduleAdjust"]["prohibitForwardNotViewed"]);
2574
+ return player;
2575
+ }
2576
+ break;
2577
+ }
2578
+ pSliderMouseDown = false;
2579
+ var ready = video.readyState >= 2 || duration && isFinite(duration) && duration > 0;
2580
+ if (!ready) {
2581
+ seekTime = target;
2582
+ try {
2583
+ video.currentTime = target;
2584
+ } catch (event2) {
2540
2585
  }
2541
- break;
2586
+ return player;
2587
+ }
2588
+ if (duration && isFinite(duration) && duration > 0 && target > duration) {
2589
+ target = Math.max(0, duration - 0.3);
2590
+ }
2591
+ if (target < 0) {
2592
+ target = 0;
2593
+ }
2594
+ try {
2595
+ video.currentTime = target;
2596
+ seekTime = 0;
2597
+ } catch (event2) {
2598
+ seekTime = target;
2599
+ }
2542
2600
  }
2543
- pSliderMouseDown = false;
2544
- video.currentTime = fn2;
2545
2601
  }
2546
2602
  }
2547
2603
  return player;
@@ -6604,7 +6660,9 @@ var CkPlayer = (0, import_react.forwardRef)(function CkPlayer2(props, ref) {
6604
6660
  if (playerRef.current) playerRef.current.pause();
6605
6661
  },
6606
6662
  seek: function(time) {
6607
- if (playerRef.current) playerRef.current.seek(time);
6663
+ if (!playerRef.current) return;
6664
+ var t = typeof time === "string" ? parseFloat(time) : time;
6665
+ if (!isNaN(t)) playerRef.current.seek(t);
6608
6666
  },
6609
6667
  setVolume: function(vol) {
6610
6668
  if (playerRef.current) playerRef.current.volume(vol);