Skip to content

Instantly share code, notes, and snippets.

@subramanian42
Last active September 30, 2022 17:54
Show Gist options
  • Save subramanian42/6aee772ca0640e82491c0ed51d32ad60 to your computer and use it in GitHub Desktop.
Save subramanian42/6aee772ca0640e82491c0ed51d32ad60 to your computer and use it in GitHub Desktop.
music_player_bloc
import 'package:flutter_bloc/flutter_bloc.dart';
part 'music_player_state.dart';
part 'music_player_event.dart';
class MusicPlayerBloc extends Bloc<MusicPlayerEvent, MusicPlayerState> {
MusicPlayerBloc({bool isPlaying = false}) : super(InitialState(isPlaying)) {
_playMusic = isPlaying;
on<PlayPauseButtonPressed>(_handlePlay);
on<PreviousTrackButtonPressed>(_handlePreviousTrack);
on<NextTrackButtonPressed>(_handleNextTrack);
}
late bool _playMusic;
void _handlePlay(
PlayPauseButtonPressed event, Emitter<MusicPlayerState> emit) {
_playMusic = !_playMusic;
emit(MusicStatusUpdated(_playMusic));
}
void _handlePreviousTrack(
PreviousTrackButtonPressed event, Emitter<MusicPlayerState> emit) {
emit(NavigateToPreviousTrack(_playMusic));
}
void _handleNextTrack(
NextTrackButtonPressed event, Emitter<MusicPlayerState> emit) {
emit(NavigateToNextTrack(_playMusic));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment