Felix Riesterer: Javascript Fade Audio

Beitrag lesen

Lieber Rolf,

die "mach erstmal und zieh's dann gerade" Technik finde ich suboptimal

OK, das geht tatsächlich besser.

    const fadeAudio = () => {

      if (volume > 10) {

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

      } else { 

         volume = 0;

      }
      this.intro.current.volume = volume / 100;
    };

Hier wird die Sache mit this.setState({ muted: muted }); nicht mehr berücksichtigt. Der Player ist also nicht mehr auf lautlos gestellt, was bei volume=0 aber sinnvoll ist.

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

Stimmt. Danke für die Optimierung.

Liebe Grüße

Felix Riesterer