spotube/lib/provider/volume_provider.dart
2025-04-14 23:31:34 +06:00

26 lines
648 B
Dart

import 'dart:async';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:spotube/services/audio_player/audio_player.dart';
import 'package:spotube/services/kv_store/kv_store.dart';
class VolumeProvider extends Notifier<double> {
VolumeProvider();
@override
build() {
audioPlayer.setVolume(KVStoreService().volume);
return KVStoreService().volume;
}
Future<void> setVolume(double volume) async {
state = volume;
await audioPlayer.setVolume(volume);
await KVStoreService().setVolume(volume);
}
}
final volumeProvider = NotifierProvider<VolumeProvider, double>(() {
return VolumeProvider();
});