mirror of
https://github.com/johrpan/musicus_mobile.git
synced 2025-10-25 19:27:24 +02:00
mobile: Keep normalized position between 0 and 1
This commit is contained in:
parent
93a5a06b55
commit
c2b39677b5
1 changed files with 13 additions and 2 deletions
|
|
@ -39,14 +39,25 @@ class Playback extends MusicusPlayback {
|
|||
/// Requires [duration] to be up to date
|
||||
void _updatePosition(int positionMs) {
|
||||
position.add(Duration(milliseconds: positionMs));
|
||||
normalizedPosition.add(positionMs / duration.value.inMilliseconds);
|
||||
_setNormalizedPosition(positionMs / duration.value.inMilliseconds);
|
||||
}
|
||||
|
||||
/// Update [position], [duration] and [normalizedPosition].
|
||||
void _updateDuration(int positionMs, int durationMs) {
|
||||
position.add(Duration(milliseconds: positionMs));
|
||||
duration.add(Duration(milliseconds: durationMs));
|
||||
normalizedPosition.add(positionMs / durationMs);
|
||||
_setNormalizedPosition(positionMs / durationMs);
|
||||
}
|
||||
|
||||
/// Update [normalizedPosition] ensuring its value is between 0.0 and 1.0.
|
||||
void _setNormalizedPosition(double value) {
|
||||
if (value <= 0.0) {
|
||||
normalizedPosition.add(0.0);
|
||||
} else if (value >= 1.0) {
|
||||
normalizedPosition.add(1.0);
|
||||
} else {
|
||||
normalizedPosition.add(value);
|
||||
}
|
||||
}
|
||||
|
||||
/// Update [currentIndex] and [currentTrack].
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue