feat: 重构选集功能,播放器添加选集,修复连播退全屏、无法保存已看完状态

This commit is contained in:
orz12
2024-04-06 00:06:57 +08:00
parent df461c2375
commit 3776cfee35
15 changed files with 728 additions and 674 deletions

View File

@@ -295,7 +295,7 @@ class BangumiIntroController extends GetxController {
}
/// 列表循环或者顺序播放时,自动播放下一个
void nextPlay() {
bool nextPlay() {
late List episodes;
if (bangumiDetail.value.episodes != null) {
episodes = bangumiDetail.value.episodes!;
@@ -312,12 +312,15 @@ class BangumiIntroController extends GetxController {
nextIndex = 0;
}
}
if (nextIndex <= episodes.length - 1 &&
platRepeat == PlayRepeat.listOrder) {}
if (nextIndex == episodes.length - 1 &&
platRepeat == PlayRepeat.listOrder) {
return false;
}
int cid = episodes[nextIndex].cid!;
String bvid = episodes[nextIndex].bvid!;
int aid = episodes[nextIndex].aid!;
changeSeasonOrbangu(bvid, cid, aid);
return true;
}
}

View File

@@ -56,6 +56,7 @@ class _BangumiIntroPanelState extends State<BangumiIntroPanel>
_futureBuilderFuture = bangumiIntroController.queryBangumiIntro();
videoDetailCtr.cid.listen((int p0) {
cid = p0;
if (!mounted) return;
setState(() {});
});
}
@@ -138,7 +139,7 @@ class _BangumiInfoState extends State<BangumiInfo> {
print('cid: $cid');
videoDetailCtr.cid.listen((p0) {
cid = p0;
print('cid: $cid');
if (!mounted) return;
setState(() {});
});
}
@@ -371,8 +372,7 @@ class _BangumiInfoState extends State<BangumiInfo> {
(bangumiItem != null
? bangumiItem!.episodes!.first.cid
: widget.bangumiDetail!.episodes!.first.cid),
changeFuc: (bvid, cid, aid) => bangumiIntroController
.changeSeasonOrbangu(bvid, cid, aid),
changeFuc: bangumiIntroController.changeSeasonOrbangu,
)
],
],