1

在我的代码中,我现在不再需要 aVideoPlayerController但我不确定 aVideoPlayerController是否已经被处理。目前,我调用了该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>

我不希望那个错误填满我的日志,所以有没有办法检查 aVideoPlayerController是否已经准备好避免调用dispose()它?

4

1 回答 1

1

使用 try-catch 块

try{
_videoController.dispose();
//Do something
}
catch(e){
//Do something
}
于 2021-04-08T22:08:05.500 回答