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) // Fonction pour contrôler la lecture en fonction de la vitesse (peut être négative)
function controlPlayback(speed) { function controlPlayback(speed) {
@ -80,20 +73,44 @@ function controlPlayback(speed) {
// On lit dans le bon sens // On lit dans le bon sens
if (speed > 0) { if (speed > 0) {
audioForward.playbackRate = normalizedSpeed; // Redémarrer la lecture si elle est arrivée à la fin // Passage en lecture forward
if (audioForward.currentTime >= audioForward.duration) {
audioForward.currentTime = 0; // 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 {
// on synchronise la position forward avec la position inverse actuelle
audioForward.currentTime = audioReverse.duration - audioReverse.currentTime;
audioReverse.pause();
} }
audioForward.playbackRate = normalizedSpeed;
audioForward.play(); audioForward.play();
isPlaying = true;
} else { } else {
audioReverse.playbackRate = normalizedSpeed; // Passage en lecture reverse
if (audioReverse.currentTime >= audioReverse.duration) {
audioReverse.currentTime = 0; 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(); audioReverse.play();
isPlaying = true;
} }
isPlaying = true; updateVinylAnimation();
}
// Fonction pour arrêter les deux audios
function stopAudio() {
audioForward.pause();
audioReverse.pause();
isPlaying = false;
updateVinylAnimation(); updateVinylAnimation();
} }