diff --git a/lib/pages/practice/bloc/topic_picture_bloc.dart b/lib/pages/practice/bloc/topic_picture_bloc.dart index ee88c2a..ce3bfa8 100644 --- a/lib/pages/practice/bloc/topic_picture_bloc.dart +++ b/lib/pages/practice/bloc/topic_picture_bloc.dart @@ -85,6 +85,7 @@ class TopicPictureBloc on(_voiceXsResult); on(_initVoiceSdk); on(_selectItemLoad); + on(_selectItemReset); on(_requestData); on(_voiceXsStart); on(_voiceXsStop); @@ -210,13 +211,22 @@ class TopicPictureBloc /// right音频长度比动效短,所以等动效完了再翻页 AudioPlayerUtil.getInstance().playAudio(AudioPlayerUtilType.right); await showStarRewardDialog(context, onDismiss: () { + _resetSelectItem(); autoFlipPage(); }); } else { await AudioPlayerUtil.getInstance().playAudio(AudioPlayerUtilType.wrong); + _resetSelectItem(); } } + ///重置选择 + void _selectItemReset( + SelectItemResetEvent event, Emitter emitter) async { + ///用于一次完整的选择后重置视图 + emitter(SelectItemResetState()); + } + ///为空则数据异常,用于是否晃动时需要 bool? checkAnswerRight(int selectIndex) { CourseProcessTopics? topics = _entity?.topics?[_currentPage]; @@ -319,11 +329,15 @@ class TopicPictureBloc await _voiceXsCancel(); } + void _resetSelectItem() { + _optionSelectItem = -1; + add(SelectItemResetEvent()); + } + Future closePlayerResource() async { if (voicePlayState == VoicePlayState.playing) { await audioPlayer.stop(); } - await ClickWithMusicController.instance.reset(); } ///是否是最后一页 diff --git a/lib/pages/practice/bloc/topic_picture_event.dart b/lib/pages/practice/bloc/topic_picture_event.dart index c2e416c..054051c 100644 --- a/lib/pages/practice/bloc/topic_picture_event.dart +++ b/lib/pages/practice/bloc/topic_picture_event.dart @@ -45,6 +45,9 @@ class SelectItemEvent extends TopicPictureEvent { SelectItemEvent(this.selectIndex); } +///选项重置,用于播放作答动效后重置(边框等) +class SelectItemResetEvent extends TopicPictureEvent {} + ///音频播放事件 class VoicePlayChangeEvent extends TopicPictureEvent {} diff --git a/lib/pages/practice/bloc/topic_picture_state.dart b/lib/pages/practice/bloc/topic_picture_state.dart index d1d9b5d..3d0a2d8 100644 --- a/lib/pages/practice/bloc/topic_picture_state.dart +++ b/lib/pages/practice/bloc/topic_picture_state.dart @@ -13,4 +13,6 @@ class CurrentPageIndexState extends TopicPictureState {} class SelectItemChangeState extends TopicPictureState {} +class SelectItemResetState extends TopicPictureState {} + class VoicePlayStateChange extends TopicPictureState {}