mod: 更新播放器底栏配置
This commit is contained in:
@ -22,6 +22,7 @@ import 'package:screen_brightness/screen_brightness.dart';
|
||||
|
||||
import '../../../models/video/subTitile/content.dart';
|
||||
import '../../../http/danmaku.dart';
|
||||
import '../../../plugin/pl_player/models/bottom_control_type.dart';
|
||||
import '../../../utils/id_utils.dart';
|
||||
import 'widgets/header_control.dart';
|
||||
|
||||
@ -98,6 +99,13 @@ class VideoDetailController extends GetxController
|
||||
<SubTitileContentModel>[].obs;
|
||||
late bool enableRelatedVideo;
|
||||
List subtitles = [];
|
||||
RxList<BottomControlType> bottomList = [
|
||||
BottomControlType.playOrPause,
|
||||
BottomControlType.time,
|
||||
BottomControlType.space,
|
||||
BottomControlType.fit,
|
||||
BottomControlType.fullscreen,
|
||||
].obs;
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
|
@ -24,6 +24,7 @@ import 'package:pilipala/plugin/pl_player/models/play_repeat.dart';
|
||||
import 'package:pilipala/services/service_locator.dart';
|
||||
import 'package:pilipala/utils/storage.dart';
|
||||
|
||||
import '../../../plugin/pl_player/models/bottom_control_type.dart';
|
||||
import '../../../services/shutdown_timer_service.dart';
|
||||
import 'widgets/app_bar.dart';
|
||||
|
||||
@ -302,6 +303,7 @@ class _VideoDetailPageState extends State<VideoDetailPage>
|
||||
playerController: plPlayerController!,
|
||||
),
|
||||
),
|
||||
bottomList: vdCtr.bottomList,
|
||||
);
|
||||
},
|
||||
);
|
||||
|
@ -214,8 +214,8 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
|
||||
/// 上一集
|
||||
BottomControlType.pre: ComBtn(
|
||||
icon: const Icon(
|
||||
Icons.skip_previous_outlined,
|
||||
size: 15,
|
||||
Icons.skip_previous_rounded,
|
||||
size: 21,
|
||||
color: Colors.white,
|
||||
),
|
||||
fuc: () {},
|
||||
@ -229,8 +229,8 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
|
||||
/// 下一集
|
||||
BottomControlType.next: ComBtn(
|
||||
icon: const Icon(
|
||||
Icons.last_page_outlined,
|
||||
size: 15,
|
||||
Icons.skip_next_rounded,
|
||||
size: 21,
|
||||
color: Colors.white,
|
||||
),
|
||||
fuc: () {},
|
||||
@ -239,6 +239,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
|
||||
/// 时间进度
|
||||
BottomControlType.time: Row(
|
||||
children: [
|
||||
const SizedBox(width: 8),
|
||||
Obx(() {
|
||||
return Text(
|
||||
_.durationSeconds.value >= 3600
|
||||
|
@ -68,91 +68,8 @@ class BottomControl extends StatelessWidget implements PreferredSizeWidget {
|
||||
);
|
||||
},
|
||||
),
|
||||
Row(
|
||||
children: [...buildBottomControl!],
|
||||
),
|
||||
// Row(
|
||||
// children: [
|
||||
// PlayOrPauseButton(
|
||||
// controller: _,
|
||||
// ),
|
||||
// const SizedBox(width: 4),
|
||||
// // 播放时间
|
||||
// Obx(() {
|
||||
// return Text(
|
||||
// _.durationSeconds.value >= 3600
|
||||
// ? printDurationWithHours(
|
||||
// Duration(seconds: _.positionSeconds.value))
|
||||
// : printDuration(
|
||||
// Duration(seconds: _.positionSeconds.value)),
|
||||
// style: textStyle,
|
||||
// );
|
||||
// }),
|
||||
// const SizedBox(width: 2),
|
||||
// const Text('/', style: textStyle),
|
||||
// const SizedBox(width: 2),
|
||||
// Obx(
|
||||
// () => Text(
|
||||
// _.durationSeconds.value >= 3600
|
||||
// ? printDurationWithHours(
|
||||
// Duration(seconds: _.durationSeconds.value))
|
||||
// : printDuration(
|
||||
// Duration(seconds: _.durationSeconds.value)),
|
||||
// style: textStyle,
|
||||
// ),
|
||||
// ),
|
||||
// const Spacer(),
|
||||
// // 倍速
|
||||
// // Obx(
|
||||
// // () => SizedBox(
|
||||
// // width: 45,
|
||||
// // height: 34,
|
||||
// // child: TextButton(
|
||||
// // style: ButtonStyle(
|
||||
// // padding: MaterialStateProperty.all(EdgeInsets.zero),
|
||||
// // ),
|
||||
// // onPressed: () {
|
||||
// // _.togglePlaybackSpeed();
|
||||
// // },
|
||||
// // child: Text(
|
||||
// // '${_.playbackSpeed.toString()}X',
|
||||
// // style: textStyle,
|
||||
// // ),
|
||||
// // ),
|
||||
// // ),
|
||||
// // ),
|
||||
// SizedBox(
|
||||
// height: 30,
|
||||
// child: TextButton(
|
||||
// onPressed: () => _.toggleVideoFit(),
|
||||
// style: ButtonStyle(
|
||||
// padding: MaterialStateProperty.all(EdgeInsets.zero),
|
||||
// ),
|
||||
// child: Obx(
|
||||
// () => Text(
|
||||
// _.videoFitDEsc.value,
|
||||
// style: const TextStyle(color: Colors.white, fontSize: 13),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// const SizedBox(width: 10),
|
||||
// // 全屏
|
||||
// Obx(
|
||||
// () => ComBtn(
|
||||
// icon: Icon(
|
||||
// _.isFullScreen.value
|
||||
// ? FontAwesomeIcons.compress
|
||||
// : FontAwesomeIcons.expand,
|
||||
// size: 15,
|
||||
// color: Colors.white,
|
||||
// ),
|
||||
// fuc: () => triggerFullScreen!(),
|
||||
// ),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
const SizedBox(height: 12),
|
||||
Row(children: [...buildBottomControl!]),
|
||||
const SizedBox(height: 10),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
Reference in New Issue
Block a user