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
sumpsi - posui - clusi