opt: 字幕渲染逻辑
This commit is contained in:
@ -446,15 +446,6 @@ class VideoDetailController extends GetxController
|
||||
}
|
||||
}
|
||||
|
||||
// 获取字幕内容
|
||||
// Future getSubtitleContent(String url) async {
|
||||
// var res = await Request().get('https:$url');
|
||||
// subtitleContents.value = res.data['body'].map<SubTitileContentModel>((e) {
|
||||
// return SubTitileContentModel.fromJson(e);
|
||||
// }).toList();
|
||||
// setSubtitleContent();
|
||||
// }
|
||||
|
||||
setSubtitleContent() {
|
||||
plPlayerController.subtitleContent.value = '';
|
||||
plPlayerController.subtitles.value = subtitles;
|
||||
|
@ -435,7 +435,8 @@ class VideoIntroController extends GetxController {
|
||||
videoDetailCtr.danmakuCid.value = cid;
|
||||
videoDetailCtr.cover.value = cover;
|
||||
videoDetailCtr.queryVideoUrl();
|
||||
videoDetailCtr.getSubtitle();
|
||||
videoDetailCtr.clearSubtitleContent();
|
||||
await videoDetailCtr.getSubtitle();
|
||||
videoDetailCtr.setSubtitleContent();
|
||||
// 重新请求评论
|
||||
try {
|
||||
|
@ -426,7 +426,12 @@ class _HeaderControlState extends State<HeaderControl> {
|
||||
/// 选择字幕
|
||||
void showSubtitleDialog() async {
|
||||
int tempThemeValue = widget.controller!.subTitleCode.value;
|
||||
int len = widget.videoDetailCtr!.subtitles.length;
|
||||
final List subtitles = widget.videoDetailCtr!.subtitles;
|
||||
int len = subtitles.length;
|
||||
if (subtitles.firstWhereOrNull((element) => element.id == tempThemeValue) ==
|
||||
null) {
|
||||
tempThemeValue = -1;
|
||||
}
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
@ -458,7 +463,7 @@ class _HeaderControlState extends State<HeaderControl> {
|
||||
),
|
||||
...widget.videoDetailCtr!.subtitles
|
||||
.map((e) => RadioListTile(
|
||||
value: e.code,
|
||||
value: e.id,
|
||||
title: Text(e.title),
|
||||
groupValue: tempThemeValue,
|
||||
onChanged: (value) {
|
||||
|
Reference in New Issue
Block a user