This commit is contained in:
El-yazide MOHAMED 2025-06-07 08:19:34 +02:00
parent bdd82be393
commit 61f68ca41f

View File

@ -49,13 +49,6 @@ function updateVinylAnimation() {
}
}
// Fonction pour arrêter les deux audios
function stopAudio() {
audioForward.pause();
audioReverse.pause();
isPlaying = false;
updateVinylAnimation();
}
// Fonction pour contrôler la lecture en fonction de la vitesse (peut être négative)
function controlPlayback(speed) {
@ -80,20 +73,44 @@ function controlPlayback(speed) {
// On lit dans le bon sens
if (speed > 0) {
audioForward.playbackRate = normalizedSpeed; // Redémarrer la lecture si elle est arrivée à la fin
if (audioForward.currentTime >= audioForward.duration) {
audioForward.currentTime = 0;
}
audioForward.play();
// Passage en lecture forward
// Si on était en reverse, on récupère la position dans reverse et on la convertit en forward
if (!audioForward.paused) {
// on continue normalement
} else {
audioReverse.playbackRate = normalizedSpeed;
if (audioReverse.currentTime >= audioReverse.duration) {
audioReverse.currentTime = 0;
}
audioReverse.play();
// on synchronise la position forward avec la position inverse actuelle
audioForward.currentTime = audioReverse.duration - audioReverse.currentTime;
audioReverse.pause();
}
audioForward.playbackRate = normalizedSpeed;
audioForward.play();
isPlaying = true;
} else {
// Passage en lecture reverse
if (!audioReverse.paused) {
// on continue normalement
} else {
// on synchronise la position reverse avec la position forward actuelle
audioReverse.currentTime = audioForward.duration - audioForward.currentTime;
audioForward.pause();
}
audioReverse.playbackRate = normalizedSpeed;
audioReverse.play();
isPlaying = true;
}
updateVinylAnimation();
}
// Fonction pour arrêter les deux audios
function stopAudio() {
audioForward.pause();
audioReverse.pause();
isPlaying = false;
updateVinylAnimation();
}