mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
mod: 清除buffer listener
This commit is contained in:
@@ -67,6 +67,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
|||||||
late final MethodChannel onUserLeaveHintListener;
|
late final MethodChannel onUserLeaveHintListener;
|
||||||
late AnimationController _animationController;
|
late AnimationController _animationController;
|
||||||
late Animation<double> _animation;
|
late Animation<double> _animation;
|
||||||
|
StreamSubscription<Duration>? _bufferedListener;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
@@ -243,6 +244,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
|||||||
AutoOrientation.portraitUpMode();
|
AutoOrientation.portraitUpMode();
|
||||||
}
|
}
|
||||||
shutdownTimerService.handleWaitingFinished();
|
shutdownTimerService.handleWaitingFinished();
|
||||||
|
_bufferedListener?.cancel();
|
||||||
if (plPlayerController != null) {
|
if (plPlayerController != null) {
|
||||||
plPlayerController!.removeStatusLister(playerListener);
|
plPlayerController!.removeStatusLister(playerListener);
|
||||||
fullScreenStatusListener.cancel();
|
fullScreenStatusListener.cancel();
|
||||||
@@ -258,6 +260,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
|||||||
@override
|
@override
|
||||||
// 离开当前页面时
|
// 离开当前页面时
|
||||||
void didPushNext() async {
|
void didPushNext() async {
|
||||||
|
_bufferedListener?.cancel();
|
||||||
/// 开启
|
/// 开启
|
||||||
if (setting.get(SettingBoxKey.enableAutoBrightness, defaultValue: false)
|
if (setting.get(SettingBoxKey.enableAutoBrightness, defaultValue: false)
|
||||||
as bool) {
|
as bool) {
|
||||||
@@ -295,8 +298,9 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
|||||||
if (autoplay) {
|
if (autoplay) {
|
||||||
// await Future.delayed(const Duration(milliseconds: 300));
|
// await Future.delayed(const Duration(milliseconds: 300));
|
||||||
if (plPlayerController?.buffered.value == Duration.zero) {
|
if (plPlayerController?.buffered.value == Duration.zero) {
|
||||||
plPlayerController?.buffered.listen((p0) {
|
_bufferedListener = plPlayerController?.buffered.listen((p0) {
|
||||||
if (p0 > Duration.zero) {
|
if (p0 > Duration.zero) {
|
||||||
|
_bufferedListener!.cancel();
|
||||||
plPlayerController?.seekTo(videoDetailController.defaultST);
|
plPlayerController?.seekTo(videoDetailController.defaultST);
|
||||||
plPlayerController?.play();
|
plPlayerController?.play();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user