I'm building a Flutter music player app using the just_audio package and Provider for state management.
Everything works fine when I play a track, isPlaying flag updates to true. However, when I call pause(), but isPlaying remains true, even though I'm listening to playerStateStream.
class MusicPlayerProvider extends ChangeNotifier {
AudioPlayer audioPlayer = AudioPlayer();
bool isPlaying = false;
MusicPlayerProvider() {
handleListener();
}
Future<void> play(String path) async {
await audioPlayer.setFilePath(path);
await audioPlayer.play();
}
Future<void> pause() async {
await audioPlayer.pause();
}
void handleListener() {
audioPlayer.playerStateStream.listen((state) {
isPlaying = state.playing;
notifyListeners();
});
}
}