opt: toggle showSubtitleBtn

This commit is contained in:
guozhigq
2024-11-23 22:48:09 +08:00
parent 79cd211976
commit e8166c9f82
3 changed files with 17 additions and 3 deletions

View File

@ -480,6 +480,15 @@ class VideoDetailController extends GetxController
getDanmaku(subtitles);
}
}
headerControl = HeaderControl(
controller: plPlayerController,
videoDetailCtr: this,
floating: floating,
bvid: bvid,
videoType: videoType,
showSubtitleBtn: result['status'] && result['data'].subtitles.isNotEmpty,
);
plPlayerController.setHeaderControl(headerControl);
}
// 获取弹幕

View File

@ -30,7 +30,7 @@ class HeaderControl extends StatefulWidget implements PreferredSizeWidget {
this.floating,
this.bvid,
this.videoType,
this.showSubtitleBtn,
this.showSubtitleBtn = true,
super.key,
});
final PlPlayerController? controller;
@ -38,7 +38,7 @@ class HeaderControl extends StatefulWidget implements PreferredSizeWidget {
final Floating? floating;
final String? bvid;
final SearchType? videoType;
final bool? showSubtitleBtn;
final bool showSubtitleBtn;
@override
State<HeaderControl> createState() => _HeaderControlState();
@ -1326,7 +1326,7 @@ class _HeaderControlState extends State<HeaderControl> {
],
/// 字幕
if (widget.showSubtitleBtn ?? true)
if (widget.showSubtitleBtn)
ComBtn(
icon: const Icon(
Icons.closed_caption_off,

View File

@ -929,6 +929,11 @@ class PlPlayerController {
showControls.value = !val;
}
/// 设置/更新顶部控制栏
void setHeaderControl(PreferredSizeWidget? widget) {
headerControl = widget;
}
void toggleFullScreen(bool val) {
_isFullScreen.value = val;
}