|
|
@ -33,7 +33,7 @@ class QuestionBloc extends Bloc<QuestionEvent, QuestionState> { |
|
|
) : super(QuestionState()) { |
|
|
) : super(QuestionState()) { |
|
|
volumeStream = _mainAudioService.volumeStream(); |
|
|
volumeStream = _mainAudioService.volumeStream(); |
|
|
playingStream = _mainAudioService.playingStream(); |
|
|
playingStream = _mainAudioService.playingStream(); |
|
|
stopMusic(); |
|
|
|
|
|
|
|
|
initAudios(); |
|
|
registerShowCase(); |
|
|
registerShowCase(); |
|
|
on<GetLevelEvent>(_getLevelEvent); |
|
|
on<GetLevelEvent>(_getLevelEvent); |
|
|
on<ChooseAnswerEvent>(_chooseAnswerEvent); |
|
|
on<ChooseAnswerEvent>(_chooseAnswerEvent); |
|
|
@ -42,6 +42,8 @@ class QuestionBloc extends Bloc<QuestionEvent, QuestionState> { |
|
|
@override |
|
|
@override |
|
|
Future<void> close() { |
|
|
Future<void> close() { |
|
|
unRegisterShowCase(); |
|
|
unRegisterShowCase(); |
|
|
|
|
|
_mainAudioService.setVolume(volume: MyConstants.musicAudioVolume); |
|
|
|
|
|
_backgroundAudioService.dispose(); |
|
|
animationController.dispose(); |
|
|
animationController.dispose(); |
|
|
return super.close(); |
|
|
return super.close(); |
|
|
} |
|
|
} |
|
|
@ -69,6 +71,7 @@ class QuestionBloc extends Bloc<QuestionEvent, QuestionState> { |
|
|
|
|
|
|
|
|
/// ------------Controllers------------ |
|
|
/// ------------Controllers------------ |
|
|
final AudioService _mainAudioService; |
|
|
final AudioService _mainAudioService; |
|
|
|
|
|
final AudioService _backgroundAudioService = AudioService(); |
|
|
final AudioService _effectAudioService; |
|
|
final AudioService _effectAudioService; |
|
|
late final AnimationController animationController; |
|
|
late final AnimationController animationController; |
|
|
|
|
|
|
|
|
@ -124,11 +127,16 @@ class QuestionBloc extends Bloc<QuestionEvent, QuestionState> { |
|
|
await _effectAudioService.play(); |
|
|
await _effectAudioService.play(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Future<void> stopMusic() async { |
|
|
|
|
|
|
|
|
Future<void> initAudios() async { |
|
|
await Future.wait([ |
|
|
await Future.wait([ |
|
|
_mainAudioService.stop(), |
|
|
_mainAudioService.stop(), |
|
|
|
|
|
_mainAudioService.setVolume(volume: MyConstants.questionAudioVolume), |
|
|
_mainAudioService.setLoopMode(isLoop: false), |
|
|
_mainAudioService.setLoopMode(isLoop: false), |
|
|
|
|
|
_backgroundAudioService.setAudio(assetPath: MyAudios.question), |
|
|
|
|
|
_backgroundAudioService.setVolume(volume: 0.1), |
|
|
|
|
|
_backgroundAudioService.setLoopMode(isLoop: true), |
|
|
]); |
|
|
]); |
|
|
|
|
|
await _backgroundAudioService.play(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Future<void> playWrongAudio() async { |
|
|
Future<void> playWrongAudio() async { |
|
|
@ -148,8 +156,9 @@ class QuestionBloc extends Bloc<QuestionEvent, QuestionState> { |
|
|
|
|
|
|
|
|
Future<void> changeMute() async { |
|
|
Future<void> changeMute() async { |
|
|
await Future.wait([ |
|
|
await Future.wait([ |
|
|
_mainAudioService.changeMute(), |
|
|
|
|
|
_effectAudioService.changeMute(), |
|
|
|
|
|
|
|
|
_mainAudioService.changeMute(volume: MyConstants.questionAudioVolume), |
|
|
|
|
|
_backgroundAudioService.changeMute(volume: 0.1), |
|
|
|
|
|
_effectAudioService.changeMute(volume: MyConstants.effectAudioVolume), |
|
|
]); |
|
|
]); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|