Browse Source

fix progress bar goes out while play live stream. (#115)

* fix progress bar goes out while play live stream.

* fix ios part
fei long 6 years ago
parent
commit
46fe826bd0
2 changed files with 8 additions and 6 deletions
  1. 4 3
      lib/src/cupertino_progress_bar.dart
  2. 4 3
      lib/src/material_progress_bar.dart

+ 4 - 3
lib/src/cupertino_progress_bar.dart

@@ -146,9 +146,10 @@ class _ProgressBarPainter extends CustomPainter {
     if (!value.initialized) {
       return;
     }
-    final double playedPart = value.position.inMilliseconds /
-        value.duration.inMilliseconds *
-        size.width;
+    final double playedPartPercent = value.position.inMilliseconds /
+        value.duration.inMilliseconds;
+    final double playedPart = playedPartPercent > 1? size.width
+        : playedPartPercent * size.width;
     for (DurationRange range in value.buffered) {
       final double start = range.startFraction(value.duration) * size.width;
       final double end = range.endFraction(value.duration) * size.width;

+ 4 - 3
lib/src/material_progress_bar.dart

@@ -144,9 +144,10 @@ class _ProgressBarPainter extends CustomPainter {
     if (!value.initialized) {
       return;
     }
-    final double playedPart = value.position.inMilliseconds /
-        value.duration.inMilliseconds *
-        size.width;
+    final double playedPartPercent = value.position.inMilliseconds /
+        value.duration.inMilliseconds;
+    final double playedPart = playedPartPercent > 1? size.width
+        : playedPartPercent * size.width;
     for (DurationRange range in value.buffered) {
       final double start = range.startFraction(value.duration) * size.width;
       final double end = range.endFraction(value.duration) * size.width;