feat: setting background music to 60% for better tuning (#424)

* feat: setting background music to 60% for better tuning

* better code
pull/430/head
Erick 3 years ago committed by GitHub
parent 37f35dc60f
commit bab088faea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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

@ -33,7 +33,7 @@ class _MockPlaySingleAudio extends Mock {
} }
class _MockLoopSingleAudio extends Mock { class _MockLoopSingleAudio extends Mock {
Future<void> onCall(String url); Future<void> onCall(String url, {double volume});
} }
abstract class _PreCacheSingleAudio { abstract class _PreCacheSingleAudio {
@ -77,7 +77,8 @@ void main() {
when(() => playSingleAudio.onCall(any())).thenAnswer((_) async {}); when(() => playSingleAudio.onCall(any())).thenAnswer((_) async {});
loopSingleAudio = _MockLoopSingleAudio(); loopSingleAudio = _MockLoopSingleAudio();
when(() => loopSingleAudio.onCall(any())).thenAnswer((_) async {}); when(() => loopSingleAudio.onCall(any(), volume: any(named: 'volume')))
.thenAnswer((_) async {});
preCacheSingleAudio = _MockPreCacheSingleAudio(); preCacheSingleAudio = _MockPreCacheSingleAudio();
when(() => preCacheSingleAudio.onCall(any())).thenAnswer((_) async {}); when(() => preCacheSingleAudio.onCall(any())).thenAnswer((_) async {});
@ -443,8 +444,10 @@ void main() {
audioPlayer.play(PinballAudio.backgroundMusic); audioPlayer.play(PinballAudio.backgroundMusic);
verify( verify(
() => loopSingleAudio () => loopSingleAudio.onCall(
.onCall('packages/pinball_audio/${Assets.music.background}'), 'packages/pinball_audio/${Assets.music.background}',
volume: .6,
),
).called(1); ).called(1);
}); });
@ -455,8 +458,10 @@ void main() {
..play(PinballAudio.backgroundMusic); ..play(PinballAudio.backgroundMusic);
verify( verify(
() => loopSingleAudio () => loopSingleAudio.onCall(
.onCall('packages/pinball_audio/${Assets.music.background}'), 'packages/pinball_audio/${Assets.music.background}',
volume: .6,
),
).called(1); ).called(1);
}); });
}); });

Loading…
Cancel
Save