fix: video play

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-02-27 19:05:57 +08:00
parent 69667c135d
commit bceabae06f
2 changed files with 158 additions and 155 deletions

View File

@@ -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(

View File

@@ -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));
}),
];
};
}
/// 移除事件监听