有没有办法检查Flutter视频播放器包中的VideoPlayerController是否已经被处理



在我的代码中,我现在不再需要VideoPlayerController了,但我不确定是否已经释放了VideoPlayerController。目前,我调用dispose()方法,但当VideoPlayerController已经被处理时,会抛出错误:

2021-04-08 23:35:07.602 1898-2090/com.learningleaflets.anatomyleaflet E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: A VideoPlayerController was used after being disposed.
Once you have called dispose() on a VideoPlayerController, it can no longer be used.
#0      ChangeNotifier._debugAssertNotDisposed.<anonymous closure> (package:flutter/src/foundation/change_notifier.dart:117:9)
#1      ChangeNotifier._debugAssertNotDisposed (package:flutter/src/foundation/change_notifier.dart:123:6)
#2      ChangeNotifier.dispose (package:flutter/src/foundation/change_notifier.dart:212:12)
#3      VideoPlayerController.dispose (package:video_player/video_player.dart:383:11)
<asynchronous suspension>

我不想让这个错误填满我的日志,那么有没有一种方法可以检查VideoPlayerController是否已经被处理,以避免对其调用dispose()

使用try-catch块

try{
_videoController.dispose();
//Do something
}
catch(e){
//Do something
}

最新更新