fadeOut method

  1. @override
Future<void> fadeOut({
  1. Duration duration = const Duration(seconds: 3),
})
override

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();
}