fix: 尝试修复音量调节抖动 issues #647 #498 #104 #198

This commit is contained in:
guozhigq
2024-03-21 23:39:56 +08:00
parent 00b81b194f
commit 4dbcd2e0ec

View File

@ -1,6 +1,7 @@
import 'dart:async'; import 'dart:async';
import 'package:audio_video_progress_bar/audio_video_progress_bar.dart'; import 'package:audio_video_progress_bar/audio_video_progress_bar.dart';
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_volume_controller/flutter_volume_controller.dart'; import 'package:flutter_volume_controller/flutter_volume_controller.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@ -674,13 +675,16 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
_distance.value = dy; _distance.value = dy;
} else { } else {
// 右边区域 👈 // 右边区域 👈
EasyThrottle.throttle(
'setVolume', const Duration(milliseconds: 20), () {
final double level = (_.isFullScreen.value final double level = (_.isFullScreen.value
? Get.size.height ? Get.size.height
: screenWidth * 9 / 16) * : screenWidth * 9 / 16);
3; final double volume = _volumeValue.value -
final double volume = _volumeValue.value - delta / level; double.parse(delta.toStringAsFixed(1)) / level;
final double result = volume.clamp(0.0, 1.0); final double result = volume.clamp(0.0, 1.0);
setVolume(result); setVolume(result);
});
} }
}, },
onVerticalDragEnd: (DragEndDetails details) {}, onVerticalDragEnd: (DragEndDetails details) {},