mod: partial revert

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-01-06 13:15:39 +08:00
parent d59c364ba6
commit d0046d0faf
3 changed files with 19 additions and 37 deletions

View File

@@ -1113,19 +1113,6 @@ class VideoDetailController extends GetxController
return; return;
} }
isQuerying = true; isQuerying = true;
await Future.wait([
if (enableSponsorBlock) _querySponsorBlock(),
_actualQuery(),
]);
if (autoPlay.value && videoUrl != null && audioUrl != null) {
isShowCover.value = false;
await playerInit();
videoState.value = LoadingState.success(null);
}
isQuerying = false;
}
Future _actualQuery() async {
if (cacheVideoQa == null) { if (cacheVideoQa == null) {
await Connectivity().checkConnectivity().then((res) { await Connectivity().checkConnectivity().then((res) {
cacheVideoQa = res.contains(ConnectivityResult.wifi) cacheVideoQa = res.contains(ConnectivityResult.wifi)
@@ -1150,14 +1137,16 @@ class VideoDetailController extends GetxController
if (result['status']) { if (result['status']) {
data = result['data']; data = result['data'];
if (enableSponsorBlock) {
await _querySponsorBlock();
}
if (data.acceptDesc!.isNotEmpty && data.acceptDesc!.contains('试看')) { if (data.acceptDesc!.isNotEmpty && data.acceptDesc!.contains('试看')) {
SmartDialog.showToast( SmartDialog.showToast(
'该视频为专属视频,仅提供试看', '该视频为专属视频,仅提供试看',
displayTime: const Duration(seconds: 3), displayTime: const Duration(seconds: 3),
); );
} }
/// #1
if (data.dash == null && data.durl != null) { if (data.dash == null && data.durl != null) {
videoUrl = data.durl!.first.url!; videoUrl = data.durl!.first.url!;
audioUrl = ''; audioUrl = '';
@@ -1170,28 +1159,22 @@ class VideoDetailController extends GetxController
quality: VideoQualityCode.fromCode(data.quality!)!); quality: VideoQualityCode.fromCode(data.quality!)!);
currentDecodeFormats = VideoDecodeFormatsCode.fromString('avc1')!; currentDecodeFormats = VideoDecodeFormatsCode.fromString('avc1')!;
currentVideoQa = VideoQualityCode.fromCode(data.quality!)!; currentVideoQa = VideoQualityCode.fromCode(data.quality!)!;
if (autoPlay.value) {
/// await sponsorblock isShowCover.value = false;
// if (autoPlay.value) { await playerInit();
// isShowCover.value = false;
// await playerInit();
// }
if (autoPlay.value.not) {
videoState.value = LoadingState.success(null); videoState.value = LoadingState.success(null);
} }
isQuerying = false;
return; return;
} }
/// #2
if (data.dash == null) { if (data.dash == null) {
SmartDialog.showToast('视频资源不存在'); SmartDialog.showToast('视频资源不存在');
autoPlay.value = false; autoPlay.value = false;
isShowCover.value = true; isShowCover.value = true;
videoState.value = LoadingState.error('视频资源不存在'); videoState.value = LoadingState.error('视频资源不存在');
isQuerying = false;
return; return;
} }
/// #3
final List<VideoItem> allVideosList = data.dash!.video!; final List<VideoItem> allVideosList = data.dash!.video!;
// debugPrint("allVideosList:${allVideosList}"); // debugPrint("allVideosList:${allVideosList}");
// 当前可播放的最高质量视频 // 当前可播放的最高质量视频
@@ -1285,13 +1268,9 @@ class VideoDetailController extends GetxController
} }
// //
defaultST = Duration(milliseconds: data.lastPlayTime!); defaultST = Duration(milliseconds: data.lastPlayTime!);
if (autoPlay.value) {
/// await sponsorblock isShowCover.value = false;
// if (autoPlay.value) { await playerInit();
// isShowCover.value = false;
// await playerInit();
// }
if (autoPlay.value.not) {
videoState.value = LoadingState.success(null); videoState.value = LoadingState.success(null);
} }
} else { } else {
@@ -1307,6 +1286,7 @@ class VideoDetailController extends GetxController
SmartDialog.showToast("错误(${result['code']}${result['msg']}"); SmartDialog.showToast("错误(${result['code']}${result['msg']}");
} }
} }
isQuerying = false;
} }
List<PostSegmentModel>? list; List<PostSegmentModel>? list;

View File

@@ -294,10 +294,11 @@ class _VideoDetailPageState extends State<VideoDetailPage>
plPlayerController = videoDetailController.plPlayerController; plPlayerController = videoDetailController.plPlayerController;
videoDetailController.isShowCover.value = false; videoDetailController.isShowCover.value = false;
await videoDetailController.playerInit(autoplay: true); await videoDetailController.playerInit(autoplay: true);
videoDetailController.autoPlay.value = true;
videoDetailController.videoState.value = LoadingState.success(null);
plPlayerController!.addStatusLister(playerListener); plPlayerController!.addStatusLister(playerListener);
plPlayerController!.addPositionListener(positionListener); plPlayerController!.addPositionListener(positionListener);
await plPlayerController!.autoEnterFullscreen(); await plPlayerController!.autoEnterFullscreen();
videoDetailController.autoPlay.value = true;
} }
// // 生命周期监听 // // 生命周期监听
@@ -1071,8 +1072,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
() => videoDetailController.videoState.value is! Success () => videoDetailController.videoState.value is! Success
? const SizedBox.shrink() ? const SizedBox.shrink()
: !videoDetailController.autoPlay.value || : !videoDetailController.autoPlay.value ||
plPlayerController == null || plPlayerController?.videoController == null
plPlayerController!.videoController == null
? const SizedBox.shrink() ? const SizedBox.shrink()
: PLVideoPlayer( : PLVideoPlayer(
plPlayerController: plPlayerController!, plPlayerController: plPlayerController!,

View File

@@ -500,9 +500,11 @@ class PlPlayerController {
dataSource, _looping, enableHA, hwdec, width, height); dataSource, _looping, enableHA, hwdec, width, height);
// 获取视频时长 00:00 // 获取视频时长 00:00
_duration.value = duration ?? _videoPlayerController!.state.duration; _duration.value = duration ?? _videoPlayerController!.state.duration;
_position.value = _sliderPosition.value = seekTo ?? Duration.zero; _position.value =
_sliderPosition.value = _buffered.value = seekTo ?? Duration.zero;
updateDurationSecond(); updateDurationSecond();
updatePositionSecond(); updatePositionSecond();
updateBufferedSecond();
updateSliderPositionSecond(); updateSliderPositionSecond();
// 数据加载完成 // 数据加载完成
dataStatus.status.value = DataStatus.loaded; dataStatus.status.value = DataStatus.loaded;