播放逻辑修改

This commit is contained in:
rang 2025-12-08 23:46:43 +08:00
parent 420438c0df
commit 50a27fdf67
33 changed files with 788 additions and 761 deletions

View file

@ -1,8 +1,8 @@
import 'dart:async';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:just_audio/just_audio.dart';
import 'package:logging/logging.dart';
import 'package:vaani/shared/audio_player.dart';
/// this timer pauses the music player after a certain duration
///
@ -32,7 +32,7 @@ class SleepTimer {
}
/// The player to be paused
final AudioPlayer player;
final AbsAudioPlayer player;
/// The timer that will pause the player
Timer? timer;
@ -49,9 +49,9 @@ class SleepTimer {
SleepTimer({required duration, required this.player}) : _duration = duration {
_subscriptions.add(
player.playbackEventStream.listen((event) {
if (event.processingState == ProcessingState.completed ||
event.processingState == ProcessingState.idle) {
player.playerStateStream.listen((event) {
if (event.processingState == AbsProcessingState.completed ||
event.processingState == AbsProcessingState.idle) {
clearCountDownTimer();
}
}),

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:vaani/features/player/providers/abs_provider.dart';
import 'package:vaani/features/sleep_timer/core/sleep_timer.dart' as core;
import 'package:vaani/features/settings/app_settings_provider.dart';
import 'package:vaani/shared/extensions/time_of_day.dart';
@ -26,7 +26,7 @@ class SleepTimer extends _$SleepTimer {
var sleepTimer = core.SleepTimer(
duration: sleepTimerSettings.defaultDuration,
player: ref.watch(playerProvider).player,
player: ref.watch(absAudioPlayerProvider),
);
ref.onDispose(sleepTimer.dispose);
return sleepTimer;
@ -45,7 +45,7 @@ class SleepTimer extends _$SleepTimer {
} else {
final timer = core.SleepTimer(
duration: resultingDuration,
player: ref.watch(playerProvider).player,
player: ref.watch(absAudioPlayerProvider),
);
ref.onDispose(timer.dispose);
state = timer;

View file

@ -6,7 +6,7 @@ part of 'sleep_timer_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$sleepTimerHash() => r'daaaf63d599fb991e71a0da0ca1075fb46ccc6be';
String _$sleepTimerHash() => r'8d91e2f7563320985ff5693b539288a93ff0d243';
/// See also [SleepTimer].
@ProviderFor(SleepTimer)