mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-22 03:31:09 +08:00
@@ -1456,7 +1456,7 @@ class VideoDetailController extends GetxController
|
||||
}
|
||||
|
||||
RxList<Subtitle> subtitles = RxList<Subtitle>();
|
||||
late final Map<int, String> vttSubtitles = {};
|
||||
final Map<int, ({bool isData, String id})> vttSubtitles = {};
|
||||
late final RxInt vttSubtitlesIndex = (-1).obs;
|
||||
late final RxBool showVP = true.obs;
|
||||
late final RxList<ViewPointSegment> viewPointList = <ViewPointSegment>[].obs;
|
||||
@@ -1471,19 +1471,21 @@ class VideoDetailController extends GetxController
|
||||
return;
|
||||
}
|
||||
|
||||
Future<void> setSub(String subtitle) async {
|
||||
Future<void> setSub(({bool isData, String id}) subtitle) async {
|
||||
final sub = subtitles[index - 1];
|
||||
await plPlayerController.videoPlayerController?.setSubtitleTrack(
|
||||
SubtitleTrack.data(
|
||||
subtitle,
|
||||
title: sub.lanDoc,
|
||||
language: sub.lan,
|
||||
SubtitleTrack(
|
||||
subtitle.id,
|
||||
sub.lanDoc,
|
||||
sub.lan,
|
||||
uri: !subtitle.isData,
|
||||
data: subtitle.isData,
|
||||
),
|
||||
);
|
||||
vttSubtitlesIndex.value = index;
|
||||
}
|
||||
|
||||
String? subtitle = vttSubtitles[index - 1];
|
||||
({bool isData, String id})? subtitle = vttSubtitles[index - 1];
|
||||
if (subtitle != null) {
|
||||
await setSub(subtitle);
|
||||
} else {
|
||||
@@ -1491,8 +1493,9 @@ class VideoDetailController extends GetxController
|
||||
subtitles[index - 1].subtitleUrl!,
|
||||
);
|
||||
if (!isClosed && result != null) {
|
||||
vttSubtitles[index - 1] = result;
|
||||
await setSub(result);
|
||||
final subtitle = (isData: true, id: result);
|
||||
vttSubtitles[index - 1] = subtitle;
|
||||
await setSub(subtitle);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1665,6 +1668,8 @@ class VideoDetailController extends GetxController
|
||||
?..removeListener(scrollListener)
|
||||
..dispose();
|
||||
animController?.dispose();
|
||||
subtitles.clear();
|
||||
vttSubtitles.clear();
|
||||
super.onClose();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user