Corriger les informations de position pour les flux continus
Cette modification corrige le calcul de la position et de la durée pour les flux continus (webradio) en ajustant la méthode `poll_and_emit_changes()` dans `pmocontrol`. Elle détecte maintenant les flux via `is_playing_a_stream()`, extrait la durée depuis les métadonnées DIDL, et calcule la position relative basée sur `track_start_time`. Les valeurs par défaut (zéro pour la position, none pour la durée) sont utilisées si aucune durée n'est disponible. Les fichiers modifiés incluent `musicrenderer.rs`, `CurrentTrack.vue` et `useRenderers.ts` pour assurer une gestion cohérente des données de position et de durée.
This commit is contained in:
@@ -83,7 +83,9 @@ const progressPercent = computed(() => {
|
||||
const position = state.value?.position_ms;
|
||||
const duration = state.value?.duration_ms;
|
||||
if (position && duration && duration > 0) {
|
||||
return (position / duration) * 100;
|
||||
// Plafonner à 100% pour éviter que le curseur dépasse en cas de délai de mise à jour
|
||||
const percent = (position / duration) * 100;
|
||||
return Math.min(percent, 100);
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user