Felix Riesterer: Javascript Fade Audio

Beitrag lesen

Lieber heinetz,

0.5 0.4 0.30000000000000004 0.10000000000000003 2.7755575615628914e-17

dazu hat Dir Matthias schon etwas verlinkt.

Wo ich mir auch nicht sicher bin, ist der Timeout. Wird der auf diese Weise sauber wieder entfernt?

Vielleicht, vielleicht auch nicht. Warum nicht so?

  mute = muted => {

    let volume = 50; // percentage

    const fadeAudio = () => {

      if (volume > 0) {

        volume -= 10; // -10%

        if (volume < 0) {
          volume = 0
        }

        this.intro.current.volume = volume / 100;
        setTimeout(fadeAudio, 100);

      } else {

        this.setState({ muted: muted });
      }
    };

    fadeAudio();
  };

Liebe Grüße

Felix Riesterer