mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-02 00:58:19 +08:00
fix: video play
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -862,7 +862,9 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
}
|
||||
videoDetailController.scrollRatio.value =
|
||||
0;
|
||||
if (plPlayerController == null) {
|
||||
if (plPlayerController == null ||
|
||||
videoDetailController.playedTime ==
|
||||
null) {
|
||||
handlePlay();
|
||||
} else {
|
||||
if (plPlayerController!
|
||||
@@ -1641,16 +1643,15 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
);
|
||||
}
|
||||
|
||||
Widget videoPlayer(double videoWidth, double videoHeight) => Stack(
|
||||
Widget videoPlayer(double videoWidth, double videoHeight) {
|
||||
return Stack(
|
||||
children: [
|
||||
if (isShowing) plPlayer,
|
||||
|
||||
/// 关闭自动播放时 手动播放
|
||||
if (!videoDetailController.autoPlay.value) ...[
|
||||
Obx(
|
||||
() => Visibility(
|
||||
visible: videoDetailController.isShowCover.value,
|
||||
child: Positioned(
|
||||
() => videoDetailController.isShowCover.value
|
||||
? Positioned(
|
||||
top: 0,
|
||||
left: 0,
|
||||
right: 0,
|
||||
@@ -1658,8 +1659,10 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
onTap: handlePlay,
|
||||
child: Obx(
|
||||
() => CachedNetworkImage(
|
||||
imageUrl: videoDetailController.videoItem['pic'] != null
|
||||
? (videoDetailController.videoItem['pic'] as String)
|
||||
imageUrl:
|
||||
videoDetailController.videoItem['pic'] != null
|
||||
? (videoDetailController.videoItem['pic']
|
||||
as String)
|
||||
.http2https
|
||||
: '',
|
||||
width: videoWidth,
|
||||
@@ -1674,8 +1677,8 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
: const SizedBox.shrink(),
|
||||
),
|
||||
manualPlayerWidget,
|
||||
],
|
||||
@@ -1777,8 +1780,7 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
null,
|
||||
true,
|
||||
);
|
||||
videoDetailController
|
||||
.getSteinEdgeInfo(item['id']);
|
||||
videoDetailController.getSteinEdgeInfo(item['id']);
|
||||
},
|
||||
child: Text(item['option']),
|
||||
);
|
||||
@@ -1796,6 +1798,7 @@ class _VideoDetailPageVState extends State<VideoDetailPageV>
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget videoIntro([bool needRelated = true, bool needCtr = true]) {
|
||||
Widget introPanel() => Scaffold(
|
||||
|
||||
@@ -856,13 +856,13 @@ class PlPlayerController {
|
||||
}
|
||||
}
|
||||
|
||||
List<StreamSubscription> subscriptions = [];
|
||||
final List<Function(Duration position)> _positionListeners = [];
|
||||
final List<Function(PlayerStatus status)> _statusListeners = [];
|
||||
Set<StreamSubscription> subscriptions = {};
|
||||
final Set<Function(Duration position)> _positionListeners = {};
|
||||
final Set<Function(PlayerStatus status)> _statusListeners = {};
|
||||
|
||||
/// 播放事件监听
|
||||
void startListeners() {
|
||||
subscriptions = [
|
||||
subscriptions = {
|
||||
videoPlayerController!.stream.playing.listen((event) {
|
||||
if (event) {
|
||||
playerStatus.status.value = PlayerStatus.playing;
|
||||
@@ -973,7 +973,7 @@ class PlPlayerController {
|
||||
const Duration(seconds: 1),
|
||||
() => videoPlayerServiceHandler.onPositionChange(event));
|
||||
}),
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
/// 移除事件监听
|
||||
|
||||
Reference in New Issue
Block a user