Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-03-26 23:32:57 +08:00
parent 5d0b2dc8e3
commit c53c3a387c
2 changed files with 30 additions and 28 deletions

View File

@@ -1034,7 +1034,7 @@ class PlPlayerController {
Future<void> setPlaybackSpeed(double speed) async { Future<void> setPlaybackSpeed(double speed) async {
lastPlaybackSpeed = playbackSpeed; lastPlaybackSpeed = playbackSpeed;
if (speed == playbackSpeed) { if (speed == _videoPlayerController?.state.rate) {
return; return;
} }

View File

@@ -596,33 +596,35 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
), ),
/// 播放速度 /// 播放速度
BottomControlType.speed: Container( BottomControlType.speed: Obx(
height: 30, () => Container(
margin: const EdgeInsets.symmetric(horizontal: 10), height: 30,
alignment: Alignment.center, margin: const EdgeInsets.symmetric(horizontal: 10),
child: PopupMenuButton<double>( alignment: Alignment.center,
initialValue: plPlayerController.playbackSpeed, child: PopupMenuButton<double>(
color: Colors.black.withOpacity(0.8), initialValue: plPlayerController.playbackSpeed,
itemBuilder: (BuildContext context) { color: Colors.black.withOpacity(0.8),
return plPlayerController.speedList.map((double speed) { itemBuilder: (BuildContext context) {
return PopupMenuItem<double>( return plPlayerController.speedList.map((double speed) {
height: 35, return PopupMenuItem<double>(
padding: const EdgeInsets.only(left: 30), height: 35,
value: speed, padding: const EdgeInsets.only(left: 30),
onTap: () { value: speed,
plPlayerController.setPlaybackSpeed(speed); onTap: () {
}, plPlayerController.setPlaybackSpeed(speed);
child: Text( },
"${speed}X", child: Text(
style: const TextStyle(color: Colors.white, fontSize: 13), "${speed}X",
semanticsLabel: "$speed倍速", style: const TextStyle(color: Colors.white, fontSize: 13),
), semanticsLabel: "$speed倍速",
); ),
}).toList(); );
}, }).toList();
child: Text("${plPlayerController.playbackSpeed}X", },
style: const TextStyle(color: Colors.white, fontSize: 13), child: Text("${plPlayerController.playbackSpeed}X",
semanticsLabel: "${plPlayerController.playbackSpeed}倍速"), style: const TextStyle(color: Colors.white, fontSize: 13),
semanticsLabel: "${plPlayerController.playbackSpeed}倍速"),
),
), ),
), ),