更改播放音频方式

This commit is contained in:
rang 2025-11-19 17:43:04 +08:00
parent 4a02b757bc
commit eb1955e5e6
25 changed files with 2102 additions and 1250 deletions

View file

@ -1,10 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:just_audio/just_audio.dart';
import 'package:vaani/constants/sizes.dart';
import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:vaani/features/player/providers/session_provider.dart';
class AudiobookPlayerPlayPauseButton extends HookConsumerWidget {
const AudiobookPlayerPlayPauseButton({
@ -15,18 +14,18 @@ class AudiobookPlayerPlayPauseButton extends HookConsumerWidget {
final double iconSize;
@override
Widget build(BuildContext context, WidgetRef ref) {
final player = ref.watch(audiobookPlayerProvider);
final playing = ref.watch(isPlayerPlayingProvider);
final playState = ref.watch(playStateProvider);
final player = ref.read(playerProvider.notifier);
final playPauseController = useAnimationController(
duration: const Duration(milliseconds: 200),
initialValue: 1,
);
if (playing) {
if (playState.playing) {
playPauseController.forward();
} else {
playPauseController.reverse();
}
return switch (player.processingState) {
return switch (playState.processingState) {
ProcessingState.loading || ProcessingState.buffering => const Padding(
padding: EdgeInsets.all(AppElementSizes.paddingRegular),
child: CircularProgressIndicator(),