fadeOut method
Implementation
@override
Future<void> fadeOut({Duration duration = const Duration(seconds: 3)}) async {
const steps = 30;
final stepDuration = duration ~/ steps;
final startVolume = _volume;
for (var i = 1; i <= steps; i++) {
_volume = startVolume * (1 - i / steps);
await Future.delayed(stepDuration);
}
await stop();
}