mod: 播放器实例销毁、页面层级

This commit is contained in:
guozhigq
2023-08-14 17:54:22 +08:00
parent 5600ab5203
commit 9b7d6d105a
4 changed files with 30 additions and 80 deletions

View File

@ -678,11 +678,13 @@ class PlPlayerController {
videoFitChangedTimer?.cancel();
}
Future<void> dispose() async {
Future<void> dispose({String type = 'single'}) async {
// 每次减1最后销毁
_playerCount.value -= 1;
if (playerCount.value > 0) {
return;
if (type == 'single') {
_playerCount.value -= 1;
if (playerCount.value > 0) {
return;
}
}
_timer?.cancel();

View File

@ -8,7 +8,6 @@ import 'package:get/get.dart';
import 'package:hive/hive.dart';
import 'package:media_kit/media_kit.dart';
import 'package:media_kit_video/media_kit_video.dart';
import 'package:pilipala/common/widgets/app_bar_ani.dart';
import 'package:pilipala/plugin/pl_player/controller.dart';
import 'package:pilipala/plugin/pl_player/models/duration.dart';
import 'package:pilipala/plugin/pl_player/models/fullscreen_mode.dart';
@ -20,6 +19,7 @@ import 'package:screen_brightness/screen_brightness.dart';
import 'package:volume_controller/volume_controller.dart';
import 'utils/fullscreen.dart';
import 'widgets/app_bar_ani.dart';
import 'widgets/backward_seek.dart';
import 'widgets/bottom_control.dart';
import 'widgets/common_btn.dart';
@ -453,6 +453,24 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
),
),
Obx(() {
if (_.buffered.value == Duration.zero) {
return Positioned.fill(
child: Container(
color: Colors.black,
child: Center(
child: Image.asset(
'assets/images/loading.gif',
height: 25,
),
),
),
);
} else {
return Container();
}
}),
/// 手势
Positioned.fill(
left: 16,
@ -675,23 +693,6 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
return Container();
}
}),
Obx(() {
if (_.buffered.value == Duration.zero) {
return Positioned.fill(
child: Container(
color: Colors.black,
child: Center(
child: Image.asset(
'assets/images/loading.gif',
height: 25,
),
),
),
);
} else {
return Container();
}
}),
/// 点击 快进/快退
if (_mountSeekBackwardButton || _mountSeekForwardButton)