Capture en parallele du compte a rebours : photo prise pendant le 3 2 1
This commit is contained in:
@@ -114,39 +114,24 @@ async function lancerCapture() {
|
||||
compteurEl.textContent = `Photo ${i + 1} / ${nbPhotos}`;
|
||||
}
|
||||
|
||||
// Lancer la capture en parallele du compte a rebours
|
||||
const promesseCapture = apiPost('/api/capturer').catch(() => null);
|
||||
|
||||
await compteARebours();
|
||||
|
||||
// Si la camera a signale une erreur pendant le compte a rebours, on arrete
|
||||
const erreurVisible = !document.getElementById('preview-erreur-camera').classList.contains('cache');
|
||||
if (erreurVisible) {
|
||||
arreterPreview();
|
||||
afficherErreurCapture('Appareil photo deconnecte', 'Reconnectez le DSLR et reessayez');
|
||||
return;
|
||||
}
|
||||
|
||||
arreterPreview();
|
||||
await pause(300);
|
||||
afficherFlash();
|
||||
|
||||
// Tenter la capture avec retry
|
||||
let resultat = null;
|
||||
// Attendre la capture (devrait deja etre terminee)
|
||||
let resultat = await promesseCapture;
|
||||
let erreurReseau = false;
|
||||
for (let r = 0; r < 3; r++) {
|
||||
try {
|
||||
resultat = await apiPost('/api/capturer');
|
||||
} catch (e) {
|
||||
|
||||
if (!resultat) {
|
||||
erreurReseau = true;
|
||||
await pause(500);
|
||||
continue;
|
||||
}
|
||||
erreurReseau = false;
|
||||
if (!resultat.erreur) break;
|
||||
if (resultat.erreur === 'Limite de photos atteinte') {
|
||||
} else if (resultat.erreur === 'Limite de photos atteinte') {
|
||||
afficherErreurCapture('Limite de photos atteinte', 'La session est terminee');
|
||||
return;
|
||||
}
|
||||
await pause(500);
|
||||
}
|
||||
|
||||
if (erreurReseau) {
|
||||
afficherErreurCapture('Erreur reseau', 'Le serveur ne repond pas — redemarrez le photobooth');
|
||||
|
||||
Reference in New Issue
Block a user