|
|
|
@ -59,7 +59,7 @@ typedef CreateAudioPool = Future<AudioPool> Function(
|
|
|
|
|
typedef PlaySingleAudio = Future<void> Function(String);
|
|
|
|
|
|
|
|
|
|
/// Defines the contract for looping a single audio.
|
|
|
|
|
typedef LoopSingleAudio = Future<void> Function(String);
|
|
|
|
|
typedef LoopSingleAudio = Future<void> Function(String, {double volume});
|
|
|
|
|
|
|
|
|
|
/// Defines the contract for pre fetching an audio.
|
|
|
|
|
typedef PreCacheSingleAudio = Future<void> Function(String);
|
|
|
|
@ -101,18 +101,20 @@ class _LoopAudio extends _Audio {
|
|
|
|
|
required this.preCacheSingleAudio,
|
|
|
|
|
required this.loopSingleAudio,
|
|
|
|
|
required this.path,
|
|
|
|
|
this.volume,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
final PreCacheSingleAudio preCacheSingleAudio;
|
|
|
|
|
final LoopSingleAudio loopSingleAudio;
|
|
|
|
|
final String path;
|
|
|
|
|
final double? volume;
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Future<void> load() => preCacheSingleAudio(prefixFile(path));
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void play() {
|
|
|
|
|
loopSingleAudio(prefixFile(path));
|
|
|
|
|
loopSingleAudio(prefixFile(path), volume: volume ?? 1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -121,10 +123,12 @@ class _SingleLoopAudio extends _LoopAudio {
|
|
|
|
|
required PreCacheSingleAudio preCacheSingleAudio,
|
|
|
|
|
required LoopSingleAudio loopSingleAudio,
|
|
|
|
|
required String path,
|
|
|
|
|
double? volume,
|
|
|
|
|
}) : super(
|
|
|
|
|
preCacheSingleAudio: preCacheSingleAudio,
|
|
|
|
|
loopSingleAudio: loopSingleAudio,
|
|
|
|
|
path: path,
|
|
|
|
|
volume: volume,
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
bool _playing = false;
|
|
|
|
@ -296,6 +300,7 @@ class PinballAudioPlayer {
|
|
|
|
|
preCacheSingleAudio: _preCacheSingleAudio,
|
|
|
|
|
loopSingleAudio: _loopSingleAudio,
|
|
|
|
|
path: Assets.music.background,
|
|
|
|
|
volume: .6,
|
|
|
|
|
),
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|