Merge branch 'fix'

This commit is contained in:
guozhigq
2024-06-20 23:54:39 +08:00
4 changed files with 75 additions and 35 deletions

View File

@ -9,6 +9,14 @@ enum SubtitleType {
zhHans, zhHans,
// 英文(美国) // 英文(美国)
enUS, enUS,
// 中文繁体
zhTW,
//
en,
//
pt,
//
es,
} }
extension SubtitleTypeExtension on SubtitleType { extension SubtitleTypeExtension on SubtitleType {
@ -24,6 +32,14 @@ extension SubtitleTypeExtension on SubtitleType {
return '中文(简体)'; return '中文(简体)';
case SubtitleType.enUS: case SubtitleType.enUS:
return '英文(美国)'; return '英文(美国)';
case SubtitleType.zhTW:
return '中文(繁体)';
case SubtitleType.en:
return '英文';
case SubtitleType.pt:
return '葡萄牙语';
case SubtitleType.es:
return '西班牙语';
} }
} }
} }
@ -41,6 +57,14 @@ extension SubtitleIdExtension on SubtitleType {
return 'zh-Hans'; return 'zh-Hans';
case SubtitleType.enUS: case SubtitleType.enUS:
return 'en-US'; return 'en-US';
case SubtitleType.zhTW:
return 'zh-TW';
case SubtitleType.en:
return 'en';
case SubtitleType.pt:
return 'pt';
case SubtitleType.es:
return 'es';
} }
} }
} }
@ -58,6 +82,14 @@ extension SubtitleCodeExtension on SubtitleType {
return 4; return 4;
case SubtitleType.enUS: case SubtitleType.enUS:
return 5; return 5;
case SubtitleType.zhTW:
return 6;
case SubtitleType.en:
return 7;
case SubtitleType.pt:
return 8;
case SubtitleType.es:
return 9;
} }
} }
} }

View File

@ -225,6 +225,8 @@ class BangumiIntroController extends GetxController {
videoDetailCtr.oid.value = aid; videoDetailCtr.oid.value = aid;
videoDetailCtr.cover.value = cover; videoDetailCtr.cover.value = cover;
videoDetailCtr.queryVideoUrl(); videoDetailCtr.queryVideoUrl();
videoDetailCtr.getSubtitle();
videoDetailCtr.setSubtitleContent();
// 重新请求评论 // 重新请求评论
try { try {
/// 未渲染回复组件时可能异常 /// 未渲染回复组件时可能异常

View File

@ -436,6 +436,7 @@ class VideoIntroController extends GetxController {
videoDetailCtr.cover.value = cover; videoDetailCtr.cover.value = cover;
videoDetailCtr.queryVideoUrl(); videoDetailCtr.queryVideoUrl();
videoDetailCtr.getSubtitle(); videoDetailCtr.getSubtitle();
videoDetailCtr.setSubtitleContent();
// 重新请求评论 // 重新请求评论
try { try {
/// 未渲染回复组件时可能异常 /// 未渲染回复组件时可能异常

View File

@ -433,42 +433,47 @@ class _HeaderControlState extends State<HeaderControl> {
return AlertDialog( return AlertDialog(
title: const Text('选择字幕'), title: const Text('选择字幕'),
contentPadding: const EdgeInsets.fromLTRB(0, 12, 0, 18), contentPadding: const EdgeInsets.fromLTRB(0, 12, 0, 18),
content: StatefulBuilder(builder: (context, StateSetter setState) { content: StatefulBuilder(
return len == 0 builder: (context, StateSetter setState) {
? const SizedBox( return len == 0
height: 60, ? const SizedBox(
child: Center( height: 60,
child: Text('没有字幕'), child: Center(
), child: Text('没有字幕'),
)
: Column(
mainAxisSize: MainAxisSize.min,
children: [
RadioListTile(
value: -1,
title: const Text('关闭字幕'),
groupValue: tempThemeValue,
onChanged: (value) {
tempThemeValue = value!;
widget.controller?.toggleSubtitle(value);
Get.back();
},
), ),
...widget.videoDetailCtr!.subtitles )
.map((e) => RadioListTile( : SingleChildScrollView(
value: e.code, child: Column(
title: Text(e.title), mainAxisSize: MainAxisSize.min,
groupValue: tempThemeValue, children: [
onChanged: (value) { RadioListTile(
tempThemeValue = value!; value: -1,
widget.controller?.toggleSubtitle(value); title: const Text('关闭字幕'),
Get.back(); groupValue: tempThemeValue,
}, onChanged: (value) {
)) tempThemeValue = value!;
.toList(), widget.controller?.toggleSubtitle(value);
], Get.back();
); },
}), ),
...widget.videoDetailCtr!.subtitles
.map((e) => RadioListTile(
value: e.code,
title: Text(e.title),
groupValue: tempThemeValue,
onChanged: (value) {
tempThemeValue = value!;
widget.controller
?.toggleSubtitle(value);
Get.back();
},
))
.toList(),
],
),
);
},
),
); );
}); });
} }