11import 'package:flutter/material.dart' ;
22import 'package:provider/provider.dart' ;
3- import 'package:nipaplay/providers/settings_provider .dart' ;
3+ import 'package:nipaplay/utils/video_player_state .dart' ;
44import 'base_settings_menu.dart' ;
55import 'blur_button.dart' ;
66import 'blur_snackbar.dart' ;
@@ -65,7 +65,8 @@ class _DanmakuOffsetMenuState extends State<DanmakuOffsetMenu> {
6565 return ;
6666 }
6767
68- Provider .of <SettingsProvider >(context, listen: false ).setDanmakuTimeOffset (offset);
68+ Provider .of <VideoPlayerState >(context, listen: false )
69+ .setManualDanmakuOffset (offset);
6970 FocusScope .of (context).unfocus ();
7071 _customOffsetController.clear ();
7172 setState (() {
@@ -85,8 +86,8 @@ class _DanmakuOffsetMenuState extends State<DanmakuOffsetMenu> {
8586 child: InkWell (
8687 borderRadius: BorderRadius .circular (8 ),
8788 onTap: () {
88- Provider .of <SettingsProvider >(context, listen: false )
89- .setDanmakuTimeOffset (offset);
89+ Provider .of <VideoPlayerState >(context, listen: false )
90+ .setManualDanmakuOffset (offset);
9091 },
9192 child: Container (
9293 padding: const EdgeInsets .symmetric (horizontal: 12 , vertical: 6 ),
@@ -115,8 +116,8 @@ style: TextStyle(
115116
116117 @override
117118 Widget build (BuildContext context) {
118- return Consumer <SettingsProvider >(
119- builder: (context, settingsProvider , child) {
119+ return Consumer <VideoPlayerState >(
120+ builder: (context, videoState , child) {
120121 return BaseSettingsMenu (
121122 title: '弹幕偏移' ,
122123 onClose: widget.onClose,
@@ -154,17 +155,17 @@ style: TextStyle(
154155 mainAxisAlignment: MainAxisAlignment .center,
155156 children: [
156157 Icon (
157- settingsProvider.danmakuTimeOffset > 0
158+ videoState.manualDanmakuOffset > 0
158159 ? Icons .fast_forward
159- : settingsProvider.danmakuTimeOffset < 0
160+ : videoState.manualDanmakuOffset < 0
160161 ? Icons .fast_rewind
161162 : Icons .sync ,
162163 color: Colors .white,
163164 size: 20 ,
164165 ),
165166 const SizedBox (width: 8 ),
166167 Text (
167- _formatOffset (settingsProvider.danmakuTimeOffset ),
168+ _formatOffset (videoState.manualDanmakuOffset ),
168169 style: const TextStyle (
169170 color: Colors .white,
170171 fontSize: 18 ,
@@ -176,10 +177,10 @@ style: TextStyle(
176177 ),
177178 const SizedBox (height: 8 ),
178179 SettingsHintText (
179- settingsProvider.danmakuTimeOffset > 0
180- ? '弹幕将提前${settingsProvider . danmakuTimeOffset }秒显示'
181- : settingsProvider.danmakuTimeOffset < 0
182- ? '弹幕将延后${(-settingsProvider . danmakuTimeOffset )}秒显示'
180+ videoState.manualDanmakuOffset > 0
181+ ? '弹幕将提前${videoState . manualDanmakuOffset }秒显示'
182+ : videoState.manualDanmakuOffset < 0
183+ ? '弹幕将延后${(-videoState . manualDanmakuOffset )}秒显示'
183184 : '弹幕按原始时间显示' ,
184185 ),
185186 ],
@@ -216,7 +217,7 @@ style: TextStyle(
216217 children: _offsetOptions
217218 .where ((offset) => offset < 0 )
218219 .map ((offset) => _buildOffsetButton (
219- offset, settingsProvider.danmakuTimeOffset ))
220+ offset, videoState.manualDanmakuOffset ))
220221 .toList (),
221222 ),
222223 const SizedBox (height: 8 ),
@@ -231,7 +232,7 @@ style: TextStyle(
231232 ),
232233 ),
233234 const SizedBox (height: 4 ),
234- _buildOffsetButton (0 , settingsProvider.danmakuTimeOffset ),
235+ _buildOffsetButton (0 , videoState.manualDanmakuOffset ),
235236 const SizedBox (height: 8 ),
236237
237238 // 前进选项
@@ -248,7 +249,7 @@ style: TextStyle(
248249 children: _offsetOptions
249250 .where ((offset) => offset > 0 )
250251 .map ((offset) => _buildOffsetButton (
251- offset, settingsProvider.danmakuTimeOffset ))
252+ offset, videoState.manualDanmakuOffset ))
252253 .toList (),
253254 ),
254255 ],
0 commit comments