BlocBuilder( bloc: BlocProvider.of(context), builder: (context, state) { if (state is PausedState) { return IconButton( icon: Icon( Icons.play_arrow, size: 32, ), onPressed: () { context.bloc().add(PlayEvent(url: _planetRockUrl)); }, ); } else { return IconButton( icon: Icon( Icons.pause, size: 32, ), onPressed: () { context.bloc().add(PauseEvent()); }, ); } }, );