diff --git a/lib/pages/danmaku/view.dart b/lib/pages/danmaku/view.dart index 36b2a7301..d2fc3fcb0 100644 --- a/lib/pages/danmaku/view.dart +++ b/lib/pages/danmaku/view.dart @@ -126,9 +126,7 @@ class _PlDanmakuState extends State { type: DmUtils.getPosition(e.mode), isColorful: playerController.showVipDanmaku && - e.colorful == DmColorfulType.VipGradualColor - ? true - : null, + e.colorful == DmColorfulType.VipGradualColor, count: e.hasCount() ? e.count : null, selfSend: e.isSelf, ), @@ -151,7 +149,9 @@ class _PlDanmakuState extends State { Widget build(BuildContext context) { return Obx( () => AnimatedOpacity( - opacity: playerController.enableShowDanmaku.value ? 1 : 0, + opacity: playerController.enableShowDanmaku.value + ? playerController.danmakuOpacity.value + : 0, duration: const Duration(milliseconds: 100), child: DanmakuScreen( createdController: (DanmakuController e) { @@ -161,7 +161,6 @@ class _PlDanmakuState extends State { fontSize: _fontSize, fontWeight: playerController.danmakuFontWeight, area: playerController.showArea, - opacity: playerController.danmakuOpacity, hideTop: playerController.blockTypes.contains(5), hideScroll: playerController.blockTypes.contains(2), hideBottom: playerController.blockTypes.contains(4), diff --git a/lib/pages/live_room/view.dart b/lib/pages/live_room/view.dart index 89eb24cc6..221477385 100644 --- a/lib/pages/live_room/view.dart +++ b/lib/pages/live_room/view.dart @@ -1031,7 +1031,9 @@ class _LiveDanmakuState extends State { return Obx( () { return AnimatedOpacity( - opacity: plPlayerController.enableShowLiveDanmaku.value ? 1 : 0, + opacity: plPlayerController.enableShowLiveDanmaku.value + ? plPlayerController.danmakuOpacity.value + : 0, duration: const Duration(milliseconds: 100), child: DanmakuScreen( createdController: (DanmakuController e) { @@ -1042,7 +1044,6 @@ class _LiveDanmakuState extends State { fontSize: _fontSize, fontWeight: plPlayerController.danmakuFontWeight, area: plPlayerController.showArea, - opacity: plPlayerController.danmakuOpacity, hideTop: plPlayerController.blockTypes.contains(5), hideScroll: plPlayerController.blockTypes.contains(2), hideBottom: plPlayerController.blockTypes.contains(4), diff --git a/lib/pages/video/widgets/header_control.dart b/lib/pages/video/widgets/header_control.dart index 4beefd650..9c769ad84 100644 --- a/lib/pages/video/widgets/header_control.dart +++ b/lib/pages/video/widgets/header_control.dart @@ -1320,7 +1320,7 @@ class HeaderControlState extends State { // 显示区域 double showArea = plPlayerController.showArea; // 不透明度 - double danmakuOpacity = plPlayerController.danmakuOpacity; + double danmakuOpacity = plPlayerController.danmakuOpacity.value; // 字体大小 double danmakuFontScale = plPlayerController.danmakuFontScale; // 全屏字体大小 @@ -1443,13 +1443,8 @@ class HeaderControlState extends State { } void updateOpacity(double val) { - plPlayerController.danmakuOpacity = danmakuOpacity = val; + plPlayerController.danmakuOpacity.value = danmakuOpacity = val; setState(() {}); - try { - danmakuController?.updateOption( - danmakuController.option.copyWith(opacity: danmakuOpacity), - ); - } catch (_) {} } void updateShowArea(double val) { diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index 7ca3da5a4..7a99edf5b 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -323,7 +323,7 @@ class PlPlayerController { // 弹幕相关配置 late Set blockTypes = Pref.danmakuBlockType; late double showArea = Pref.danmakuShowArea; - late double danmakuOpacity = Pref.danmakuOpacity; + late RxDouble danmakuOpacity = Pref.danmakuOpacity.obs; late double danmakuFontScale = Pref.danmakuFontScale; late double danmakuFontScaleFS = Pref.danmakuFontScaleFS; late double danmakuStrokeWidth = Pref.strokeWidth; @@ -1597,7 +1597,7 @@ class PlPlayerController { SettingBoxKey.danmakuWeight: danmakuWeight, SettingBoxKey.danmakuBlockType: blockTypes.toList(), SettingBoxKey.danmakuShowArea: showArea, - SettingBoxKey.danmakuOpacity: danmakuOpacity, + SettingBoxKey.danmakuOpacity: danmakuOpacity.value, SettingBoxKey.danmakuFontScale: danmakuFontScale, SettingBoxKey.danmakuFontScaleFS: danmakuFontScaleFS, SettingBoxKey.danmakuDuration: danmakuDuration, diff --git a/pubspec.lock b/pubspec.lock index 109708f14..fcf890094 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -255,7 +255,7 @@ packages: description: path: "." ref: main - resolved-ref: "1c8cd0bb44f4883fe0a37d06aa11f9bfd1da6379" + resolved-ref: e95b0dd0e6ae85e0600b87e36d04d5eba6f25be5 url: "https://github.com/bggRGjQaUbCoE/canvas_danmaku.git" source: git version: "0.2.6" @@ -263,10 +263,10 @@ packages: dependency: "direct main" description: name: catcher_2 - sha256: "5f52e76f8981f10ac3238cf25df9b15036cde8de2c8e375b7699828864fc475b" + sha256: "45070a33cf072bed4b45f6141bb2be98a804a76d27e2d0fa9e4319af5fa12195" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.5" characters: dependency: transitive description: @@ -776,10 +776,10 @@ packages: dependency: transitive description: name: fluttertoast - sha256: "25e51620424d92d3db3832464774a6143b5053f15e382d8ffbfd40b6e795dcf1" + sha256: "144ddd74d49c865eba47abe31cbc746c7b311c82d6c32e571fd73c4264b740e2" url: "https://pub.dev" source: hosted - version: "8.2.12" + version: "9.0.0" font_awesome_flutter: dependency: "direct main" description: @@ -1571,10 +1571,10 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: a2608114b1ffdcbc9c120eb71a0e207c71da56202852d4aab8a5e30a82269e74 + sha256: bd14436108211b0d4ee5038689a56d4ae3620fd72fd6036e113bf1345bc74d9e url: "https://pub.dev" source: hosted - version: "2.4.12" + version: "2.4.13" shared_preferences_foundation: dependency: transitive description: