Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-06-21 12:46:34 +08:00
parent 5f3f158932
commit 604d78ad6a
161 changed files with 4873 additions and 4770 deletions

View File

@@ -15,9 +15,10 @@ import 'package:PiliPlus/plugin/pl_player/models/data_source.dart';
import 'package:PiliPlus/services/account_service.dart';
import 'package:PiliPlus/services/service_locator.dart';
import 'package:PiliPlus/tcp/live.dart';
import 'package:PiliPlus/utils/accounts.dart';
import 'package:PiliPlus/utils/danmaku_utils.dart';
import 'package:PiliPlus/utils/extension.dart';
import 'package:PiliPlus/utils/storage.dart';
import 'package:PiliPlus/utils/storage_pref.dart';
import 'package:PiliPlus/utils/video_utils.dart';
import 'package:canvas_danmaku/canvas_danmaku.dart';
import 'package:connectivity_plus/connectivity_plus.dart';
@@ -86,8 +87,8 @@ class LiveRoomController extends GetxController {
if (currentQn == null) {
await Connectivity().checkConnectivity().then((res) {
currentQn = res.contains(ConnectivityResult.wifi)
? GStorage.liveQuality
: GStorage.liveQualityCellular;
? Pref.liveQuality
: Pref.liveQualityCellular;
});
}
var res = await LiveHttp.liveRoomInfo(roomId: roomId, qn: currentQn);

View File

@@ -17,6 +17,7 @@ import 'package:PiliPlus/services/service_locator.dart';
import 'package:PiliPlus/utils/extension.dart';
import 'package:PiliPlus/utils/page_utils.dart';
import 'package:PiliPlus/utils/storage.dart';
import 'package:PiliPlus/utils/storage_key.dart';
import 'package:PiliPlus/utils/utils.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:canvas_danmaku/canvas_danmaku.dart';
@@ -109,8 +110,8 @@ class _LiveRoomPageState extends State<LiveRoomPage>
double _getFontSize(bool isFullScreen) {
return isFullScreen == false || _isPipMode == true
? 15 * plPlayerController.fontSize
: 15 * plPlayerController.fontSizeFS;
? 15 * plPlayerController.danmakuFontScale
: 15 * plPlayerController.danmakuFontScaleFS;
}
void videoSourceInit() {
@@ -180,7 +181,7 @@ class _LiveRoomPageState extends State<LiveRoomPage>
),
danmuWidget: Obx(
() => AnimatedOpacity(
opacity: plPlayerController.isOpenDanmu.value ? 1 : 0,
opacity: plPlayerController.enableShowDanmaku.value ? 1 : 0,
duration: const Duration(milliseconds: 100),
child: DanmakuScreen(
createdController: (DanmakuController e) {
@@ -191,7 +192,7 @@ class _LiveRoomPageState extends State<LiveRoomPage>
fontSize: _getFontSize(isFullScreen),
fontWeight: plPlayerController.fontWeight,
area: plPlayerController.showArea,
opacity: plPlayerController.opacity,
opacity: plPlayerController.danmakuOpacity,
hideTop: plPlayerController.blockTypes.contains(5),
hideScroll: plPlayerController.blockTypes.contains(2),
hideBottom: plPlayerController.blockTypes.contains(4),
@@ -564,13 +565,13 @@ class _LiveRoomPageState extends State<LiveRoomPage>
Obx(
() => IconButton(
onPressed: () {
plPlayerController.isOpenDanmu.value =
!plPlayerController.isOpenDanmu.value;
plPlayerController.enableShowDanmaku.value =
!plPlayerController.enableShowDanmaku.value;
GStorage.setting.put(SettingBoxKey.enableShowDanmaku,
plPlayerController.isOpenDanmu.value);
plPlayerController.enableShowDanmaku.value);
},
icon: Icon(
plPlayerController.isOpenDanmu.value
plPlayerController.enableShowDanmaku.value
? Icons.subtitles_outlined
: Icons.subtitles_off_outlined,
color: _color,

View File

@@ -3,6 +3,7 @@ import 'package:PiliPlus/plugin/pl_player/controller.dart';
import 'package:PiliPlus/plugin/pl_player/widgets/common_btn.dart';
import 'package:PiliPlus/plugin/pl_player/widgets/play_pause_btn.dart';
import 'package:PiliPlus/utils/storage.dart';
import 'package:PiliPlus/utils/storage_key.dart';
import 'package:flutter/material.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:get/get.dart';
@@ -85,14 +86,14 @@ class BottomControl extends StatelessWidget {
padding: WidgetStateProperty.all(EdgeInsets.zero),
),
onPressed: () {
plPlayerController.isOpenDanmu.value =
!plPlayerController.isOpenDanmu.value;
plPlayerController.enableShowDanmaku.value =
!plPlayerController.enableShowDanmaku.value;
GStorage.setting.put(SettingBoxKey.enableShowDanmaku,
plPlayerController.isOpenDanmu.value);
plPlayerController.enableShowDanmaku.value);
},
icon: Icon(
size: 18,
plPlayerController.isOpenDanmu.value
plPlayerController.enableShowDanmaku.value
? Icons.subtitles_outlined
: Icons.subtitles_off_outlined,
color: Colors.white,