Commit a434ef7b2e9406f23089ad20eebd3fa7d2f8408c
1 parent
d5e7df44
feat:修复绘本页闪退问题
Showing
3 changed files
with
9 additions
and
12 deletions
assets/images/photo_pause.png
lib/pages/reading/bloc/reading_bloc.dart
... | ... | @@ -90,20 +90,16 @@ class ReadingPageBloc extends Bloc<ReadingPageEvent, ReadingPageState> { |
90 | 90 | //音频播放器 |
91 | 91 | audioPlayer = AudioPlayer(); |
92 | 92 | audioPlayer.onPlayerStateChanged.listen((event) async { |
93 | - debugPrint('播放状态变化'); | |
94 | 93 | if (event == PlayerState.completed) { |
95 | - debugPrint('播放完成'); | |
96 | 94 | _voicePlayState = VoicePlayState.completed; |
97 | 95 | _onAudioPlayComplete(); |
98 | 96 | } |
99 | 97 | if (event == PlayerState.stopped) { |
100 | - debugPrint('播放结束'); | |
101 | 98 | _voicePlayState = VoicePlayState.stop; |
102 | 99 | _onAudioPlayComplete(); |
103 | 100 | } |
104 | 101 | |
105 | 102 | if (event == PlayerState.playing) { |
106 | - debugPrint('正在播放中'); | |
107 | 103 | _voicePlayState = VoicePlayState.playing; |
108 | 104 | } |
109 | 105 | if (isClosed) { |
... | ... | @@ -261,6 +257,9 @@ class ReadingPageBloc extends Bloc<ReadingPageEvent, ReadingPageState> { |
261 | 257 | } |
262 | 258 | |
263 | 259 | CourseProcessReadings? currentPageData() { |
260 | + if ((_entity?.readings?.length??0) - 1 < _currentPage) { | |
261 | + return null; | |
262 | + } | |
264 | 263 | return _entity?.readings?[_currentPage]; |
265 | 264 | } |
266 | 265 | |
... | ... | @@ -338,7 +337,7 @@ class ReadingPageBloc extends Bloc<ReadingPageEvent, ReadingPageState> { |
338 | 337 | nextPage(); |
339 | 338 | } |
340 | 339 | |
341 | - Log.d("_onAudioPlayComplete _isOriginAudioPlaying=${_isOriginAudioPlaying} _voicePlayState=$_voicePlayState recordUrl=${currentPageData()?.recordUrl?.isNotEmpty}"); | |
340 | + Log.d("_onAudioPlayComplete _isOriginAudioPlaying=$_isOriginAudioPlaying _voicePlayState=$_voicePlayState recordUrl=${currentPageData()?.recordUrl?.isNotEmpty}"); | |
342 | 341 | if (_isOriginAudioPlaying && _voicePlayState == VoicePlayState.completed && currentPageData()?.recordUrl?.isNotEmpty != true) { |
343 | 342 | ///如果刚刚完成原音播放&&录音为空,则开始录音 |
344 | 343 | startRecord(currentPageData()?.word ?? ''); |
... | ... | @@ -358,7 +357,7 @@ class ReadingPageBloc extends Bloc<ReadingPageEvent, ReadingPageState> { |
358 | 357 | OnXSVoiceStateChangeEvent event, |
359 | 358 | Emitter<ReadingPageState> emitter |
360 | 359 | ) async { |
361 | - emit(XSVoiceTestState()); | |
360 | + emitter(XSVoiceTestState()); | |
362 | 361 | } |
363 | 362 | } |
364 | 363 | ... | ... |
lib/pages/reading/reading_page.dart
... | ... | @@ -118,8 +118,7 @@ class _ReadingPage extends StatelessWidget { |
118 | 118 | ), |
119 | 119 | |
120 | 120 | Padding( |
121 | - padding: EdgeInsets.only( | |
122 | - right: 15.w + ScreenUtil().bottomBarHeight), | |
121 | + padding: EdgeInsets.only(right: 15.w + ScreenUtil().bottomBarHeight), | |
123 | 122 | child: GestureDetector( |
124 | 123 | onTap: () { |
125 | 124 | bloc.add(CurrentModeChangeEvent()); |
... | ... | @@ -233,13 +232,12 @@ class _ReadingPage extends StatelessWidget { |
233 | 232 | ); |
234 | 233 | }); |
235 | 234 | |
236 | - Widget _readingPagerItem(CourseProcessReadings readings) => | |
237 | - BlocBuilder<ReadingPageBloc, ReadingPageState>(builder: (context, state) { | |
235 | + Widget _readingPagerItem(CourseProcessReadings readings) => BlocBuilder<ReadingPageBloc, ReadingPageState>( | |
236 | + builder: (context, state) { | |
238 | 237 | return Stack( |
239 | 238 | children: [ |
240 | 239 | Positioned.fill( |
241 | - child: | |
242 | - Image.network(readings.picUrl ?? '', fit: BoxFit.cover), | |
240 | + child: Image.network(readings.picUrl ?? '', fit: BoxFit.cover), | |
243 | 241 | ), |
244 | 242 | ], |
245 | 243 | ); | ... | ... |