Surprise + capture en parallele : DSLR declenche pendant l'image surprise
- Preview stoppe AVANT la surprise (plus de frame flou) - Capture DSLR lancee en meme temps que la surprise (apiPost en parallele) - 800ms de reaction pendant que le DSLR travaille - Flash + masquer surprise apres le declenchement Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -316,22 +316,30 @@ async function lancerCapture() {
|
||||
const avecPreMessages = (i === 0);
|
||||
await compteARebours(avecPreMessages);
|
||||
|
||||
// Surprise : seulement en photo simple (pas strip/multi)
|
||||
// Affiche la surprise PUIS capture pendant que les gens reagissent
|
||||
const aSurprise = (modeActuel === 'simple') && montrerSurprise();
|
||||
if (aSurprise) await pause(500);
|
||||
// Stopper le preview AVANT la surprise (evite un frame flou visible)
|
||||
arreterPreview();
|
||||
|
||||
// Flash blanc immédiat + lancer capture en parallèle
|
||||
// Surprise : seulement en photo simple (pas strip/multi)
|
||||
// La capture DSLR se lance pendant que l'image surprise est affichee
|
||||
const aSurprise = (modeActuel === 'simple') && montrerSurprise();
|
||||
|
||||
// Lancer la capture immediatement (le DSLR met ~1-2s a repondre)
|
||||
const capturePromise = apiPost('/api/capturer').catch(() => null);
|
||||
|
||||
// Laisser la surprise visible pendant que le DSLR capture
|
||||
if (aSurprise) await pause(800);
|
||||
|
||||
// Flash blanc au moment ou le DSLR a eu le temps de declencher
|
||||
const flash = document.getElementById('flash-blanc');
|
||||
flash.classList.remove('cache');
|
||||
flash.style.animation = 'none';
|
||||
flash.offsetHeight;
|
||||
flash.style.animation = '';
|
||||
|
||||
arreterPreview();
|
||||
let resultat = await apiPost('/api/capturer').catch(() => null);
|
||||
if (aSurprise) { cacherSurprise(); prechargerSurprise(); }
|
||||
|
||||
let resultat = await capturePromise;
|
||||
|
||||
if (!resultat && !resultat?.erreur) {
|
||||
flash.classList.add('cache');
|
||||
document.getElementById('capture-en-cours').classList.add('cache');
|
||||
|
||||
Reference in New Issue
Block a user