Skip to content

Commit

Permalink
🐛 FIX: ios
Browse files Browse the repository at this point in the history
  • Loading branch information
yoanbernabeu committed Sep 22, 2024
1 parent 62edd4b commit 41956ab
Showing 1 changed file with 6 additions and 16 deletions.
22 changes: 6 additions & 16 deletions app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -104,12 +104,12 @@ <h1>Le Cristal des Rêves - Minuteur</h1>
let remainingTime;
let easierMode = false;
let songSegments = [];
let currentSongIndex = -1; // Commence à -1 pour forcer le premier ajustement
let currentSongIndex = -1;
let audioContext;
let audioBuffers = [];
let sourceNodes = [];
let gainNodes = [];
const fadeDuration = 2; // Durée du fondu en secondes
const fadeDuration = 2;

const durationInput = document.getElementById('duration');
const startButton = document.getElementById('startButton');
Expand Down Expand Up @@ -143,20 +143,14 @@ <h1>Le Cristal des Rêves - Minuteur</h1>
remainingTime = totalTime;
displayTime(remainingTime);

// Initialiser le contexte audio
// Initialiser le contexte audio lors du premier clic de l'utilisateur
if (!audioContext) {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
}

// Charger les fichiers audio
loadAudioFiles().then(() => {
// Diviser le temps total en 5 segments pour les chansons
calculateSongSegments();

// Démarrer toutes les chansons avec volume 0
playAllSongs();

// Démarrer le minuteur
countdown = setInterval(() => {
remainingTime--;
if (remainingTime <= 0) {
Expand Down Expand Up @@ -199,7 +193,7 @@ <h1>Le Cristal des Rêves - Minuteur</h1>

function addOneMinute() {
remainingTime += 60;
totalTime += 60; // Mettre à jour le temps total pour le calcul des segments
totalTime += 60;
displayTime(remainingTime);
calculateSongSegments();
}
Expand Down Expand Up @@ -239,14 +233,13 @@ <h1>Le Cristal des Rêves - Minuteur</h1>
}

function playAllSongs() {
// Créer les sources et les gainNodes pour chaque piste
for (let i = 0; i < audioBuffers.length; i++) {
const sourceNode = audioContext.createBufferSource();
sourceNode.buffer = audioBuffers[i];
sourceNode.loop = true;

const gainNode = audioContext.createGain();
gainNode.gain.value = 0; // Commence à volume 0
gainNode.gain.value = 0;

sourceNode.connect(gainNode).connect(audioContext.destination);
sourceNode.start(0);
Expand All @@ -255,15 +248,13 @@ <h1>Le Cristal des Rêves - Minuteur</h1>
gainNodes[i] = gainNode;
}

// Régler le volume initial
adjustVolumes(true); // Premier ajustement sans fondu
adjustVolumes(true);
}

function adjustVolumes(initial = false) {
const currentTime = audioContext.currentTime;
for (let i = 0; i < gainNodes.length; i++) {
if (i === currentSongIndex) {
// Augmenter le volume de la piste actuelle
gainNodes[i].gain.cancelScheduledValues(currentTime);
if (initial) {
gainNodes[i].gain.setValueAtTime(1, currentTime);
Expand All @@ -272,7 +263,6 @@ <h1>Le Cristal des Rêves - Minuteur</h1>
gainNodes[i].gain.linearRampToValueAtTime(1, currentTime + fadeDuration);
}
} else {
// Diminuer le volume des autres pistes
gainNodes[i].gain.cancelScheduledValues(currentTime);
if (initial) {
gainNodes[i].gain.setValueAtTime(0, currentTime);
Expand Down

0 comments on commit 41956ab

Please sign in to comment.