mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-20 03:06:59 +08:00
fix wakelock
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -56,6 +56,7 @@ import 'package:hive/hive.dart';
|
||||
import 'package:media_kit/media_kit.dart';
|
||||
import 'package:media_kit_video/media_kit_video.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
import 'package:wakelock_plus/wakelock_plus.dart';
|
||||
import 'package:window_manager/window_manager.dart';
|
||||
|
||||
class PlPlayerController {
|
||||
@@ -606,14 +607,6 @@ class PlPlayerController {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// _playerEventSubs = onPlayerStatusChanged.listen((PlayerStatus status) {
|
||||
// if (status == PlayerStatus.playing) {
|
||||
// WakelockPlus.enable();
|
||||
// } else {
|
||||
// WakelockPlus.disable();
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
// 获取实例 传参
|
||||
@@ -1044,6 +1037,7 @@ class PlPlayerController {
|
||||
void startListeners() {
|
||||
subscriptions = {
|
||||
videoPlayerController!.stream.playing.listen((event) {
|
||||
WakelockPlus.toggle(enable: event);
|
||||
if (event) {
|
||||
if (_shouldSetPip) {
|
||||
if (_isCurrVideoPage) {
|
||||
@@ -1777,6 +1771,9 @@ class PlPlayerController {
|
||||
// dataStatus.status.close();
|
||||
|
||||
await removeListeners();
|
||||
if (playerStatus.playing) {
|
||||
WakelockPlus.disable();
|
||||
}
|
||||
_videoPlayerController?.dispose();
|
||||
_videoPlayerController = null;
|
||||
_videoController = null;
|
||||
|
||||
@@ -72,7 +72,6 @@ import 'package:get/get.dart' hide ContextExtensionss;
|
||||
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
|
||||
import 'package:media_kit_video/media_kit_video.dart';
|
||||
import 'package:screen_brightness_platform_interface/screen_brightness_platform_interface.dart';
|
||||
import 'package:wakelock_plus/wakelock_plus.dart';
|
||||
import 'package:window_manager/window_manager.dart';
|
||||
|
||||
class PLVideoPlayer extends StatefulWidget {
|
||||
@@ -149,21 +148,12 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
|
||||
StreamSubscription? _controlsListener;
|
||||
|
||||
bool _pauseDueToPauseUponEnteringBackgroundMode = false;
|
||||
StreamSubscription<bool>? wakeLock;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
|
||||
late final player = plPlayerController.videoController?.player;
|
||||
if (player != null && player.state.playing) {
|
||||
WakelockPlus.enable();
|
||||
}
|
||||
wakeLock = player?.stream.playing.listen(
|
||||
(v) => WakelockPlus.toggle(enable: v),
|
||||
);
|
||||
|
||||
_controlsListener = plPlayerController.showControls.listen((bool val) {
|
||||
final visible = val && !plPlayerController.controlsLock.value;
|
||||
if (widget.videoDetailController?.headerCtrKey.currentState?.provider
|
||||
@@ -304,10 +294,6 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
|
||||
@override
|
||||
void dispose() {
|
||||
WidgetsBinding.instance.removeObserver(this);
|
||||
wakeLock?.cancel();
|
||||
WakelockPlus.enabled.then((i) {
|
||||
if (i) WakelockPlus.disable();
|
||||
});
|
||||
_danmakuListener?.cancel();
|
||||
_tapGestureRecognizer.dispose();
|
||||
_longPressRecognizer?.dispose();
|
||||
|
||||
Reference in New Issue
Block a user