Rolf B: Javascript Fade Audio

Beitrag lesen

Hallo Felix,

die "mach erstmal und zieh's dann gerade" Technik finde ich suboptimal, darum würde ich die Logik ein bisschen variieren:

    const fadeAudio = () => {

      if (volume > 10) {

         volume -= 10;
         this.intro.current.volume = volume / 100;
         // volume ist nun noch größer 0, neuen Aufruf buchen
         setTimeout(fadeAudio, 100);

      } else { 

         volume = 0;
         this.setState({ muted: muted });

      }
    };

(edit: setState für muted nachgetragen)

Dass man so einen Test weniger hat, ist ein netter (aber für Laufzeit irrelevanter) Nebeneffekt.

Rolf

--
sumpsi - posui - clusi