mod: pip库-floating升级

This commit is contained in:
orz12
2024-06-18 09:47:19 +08:00
parent bedf6315b5
commit a18330e8e9
5 changed files with 31 additions and 11 deletions

View File

@@ -102,7 +102,9 @@ class _BottomControlState extends State<BottomControl> {
canUsePiP = false;
}
if (canUsePiP) {
await widget.floating!.enable();
await widget.floating!.enable(
const EnableManual()
);
} else {}
},
icon: const Icon(

View File

@@ -117,7 +117,9 @@ class _VideoDetailPageState extends State<VideoDetailPage>
onUserLeaveHintListener = const MethodChannel("onUserLeaveHint");
onUserLeaveHintListener.setMethodCallHandler((call) async {
if (call.method == 'onUserLeaveHint') {
if (autoPiP) {
if (autoPiP &&
plPlayerController != null &&
playerStatus == PlayerStatus.playing) {
autoEnterPip();
}
}
@@ -364,10 +366,17 @@ class _VideoDetailPageState extends State<VideoDetailPage>
final String routePath = Get.currentRoute;
if (autoPiP && routePath.startsWith('/video')) {
floating.enable(
aspectRatio: Rational(
videoDetailController.data.dash!.video!.first.width!,
videoDetailController.data.dash!.video!.first.height!,
floating.enable(EnableManual(
aspectRatio: Rational(
videoDetailController.data.dash!.video!.first.width!,
videoDetailController.data.dash!.video!.first.height!,
),
sourceRectHint: Rectangle<int>(
0,
0,
context.width.toInt(),
context.height.toInt(),
),
));
}
}

View File

@@ -1206,7 +1206,7 @@ class _HeaderControlState extends State<HeaderControl> {
},
)),
if (!isFullScreen ||
MediaQuery.of(context).orientation != Orientation.portrait)
MediaQuery.of(context).orientation != Orientation.portrait)
SizedBox(
width: 42,
height: 34,
@@ -1420,7 +1420,16 @@ class _HeaderControlState extends State<HeaderControl> {
widget.videoDetailCtr!.data.dash!.video!.first.width!,
widget.videoDetailCtr!.data.dash!.video!.first.height!,
);
await widget.floating!.enable(aspectRatio: aspectRatio);
if (!context.mounted) return;
await widget.floating!.enable(EnableManual(
aspectRatio: aspectRatio,
sourceRectHint: Rectangle<int>(
0,
0,
context.width.toInt(),
context.height.toInt(),
),
));
} else {}
},
icon: const Icon(