mod: 播放速度调节优化 issues #201

This commit is contained in:
guozhigq
2023-10-21 22:40:05 +08:00
parent f0851c9737
commit 88e6eb607c
2 changed files with 25 additions and 6 deletions

View File

@ -197,12 +197,20 @@ class _HeaderControlState extends State<HeaderControl> {
for (var i in speedsList) ...[
if (i == currentSpeed) ...[
FilledButton(
onPressed: () => {setState(() => currentSpeed = i)},
onPressed: () async {
// setState(() => currentSpeed = i),
await widget.controller!.setPlaybackSpeed(i);
SmartDialog.dismiss();
},
child: Text(i.toString()),
),
] else ...[
FilledButton.tonal(
onPressed: () => {setState(() => currentSpeed = i)},
onPressed: () async {
// setState(() => currentSpeed = i),
await widget.controller!.setPlaybackSpeed(i);
SmartDialog.dismiss();
},
child: Text(i.toString()),
),
]
@ -220,10 +228,10 @@ class _HeaderControlState extends State<HeaderControl> {
),
TextButton(
onPressed: () async {
await SmartDialog.dismiss();
widget.controller!.setPlaybackSpeed(currentSpeed);
await widget.controller!.setDefaultSpeed();
SmartDialog.dismiss();
},
child: const Text('确定'),
child: const Text('默认速度'),
),
],
);

View File

@ -585,7 +585,17 @@ class PlPlayerController {
danmakuController!.updateOption(updatedOption);
} catch (_) {}
// fix 长按倍速后放开不恢复
// _playbackSpeed.value = speed;
if (!doubleSpeedStatus.value) {
_playbackSpeed.value = speed;
}
}
// 还原默认速度
Future<void> setDefaultSpeed() async {
double speed =
videoStorage.get(VideoBoxKey.playSpeedDefault, defaultValue: 1.0);
await _videoPlayerController?.setRate(speed);
_playbackSpeed.value = speed;
}
/// 设置倍速
@ -796,6 +806,7 @@ class PlPlayerController {
if (val) {
setPlaybackSpeed(longPressSpeed);
} else {
print(playbackSpeed);
setPlaybackSpeed(playbackSpeed);
}
}