diff --git a/lib/estado/estado_radio.dart b/lib/estado/estado_radio.dart index 85d3443..ae8517b 100644 --- a/lib/estado/estado_radio.dart +++ b/lib/estado/estado_radio.dart @@ -304,7 +304,6 @@ class EstadoRadio extends ChangeNotifier { Future reproducir(Emisora emisora) async { try { - notifyListeners(); await audio.reproducir(emisora); unawaited(radio.registrarClick(emisora.uuid)); await _aplicarPresetActivo(_presetParaEmisora(emisora.uuid)); diff --git a/lib/servicios/servicio_audio.dart b/lib/servicios/servicio_audio.dart index fc003a3..633801e 100644 --- a/lib/servicios/servicio_audio.dart +++ b/lib/servicios/servicio_audio.dart @@ -106,7 +106,6 @@ class PluriWaveAudioHandler extends BaseAudioHandler with SeekHandler { PresetEcualizador _presetActual = PresetEcualizador.flat; PresetEcualizador get presetActual => _presetActual; - int _playRequestId = 0; PluriWaveAudioHandler() { _setupStreams(); @@ -215,27 +214,15 @@ class PluriWaveAudioHandler extends BaseAudioHandler with SeekHandler { @override Future playMediaItem(MediaItem mediaItem) async { - final requestId = ++_playRequestId; this.mediaItem.add(mediaItem); - emisoraActual = _emisoraDesdeMediaItem(mediaItem); - playbackState.add(playbackState.value.copyWith( - processingState: AudioProcessingState.loading, - playing: false, - errorMessage: null, - )); try { await _player.stop(); - if (requestId != _playRequestId) return; await _player.setUrl(mediaItem.id); - if (requestId != _playRequestId) return; await _player.play(); - if (requestId == _playRequestId) { - await _activarEcualizador(); - } + emisoraActual = _emisoraDesdeMediaItem(mediaItem); + await _activarEcualizador(); } on PlayerException catch (e) { - if (requestId == _playRequestId) { - _gestionarErrorReproduccion(e); - } + _gestionarErrorReproduccion(e); throw Exception(_mensajeAmigable(e)); } on Exception catch (e) { developer.log( @@ -243,15 +230,13 @@ class PluriWaveAudioHandler extends BaseAudioHandler with SeekHandler { name: 'ServicioAudio', level: 900, ); - if (requestId == _playRequestId) { - playbackState.add(playbackState.value.copyWith( - processingState: AudioProcessingState.error, - playing: false, - errorMessage: 'Error inesperado al reproducir', - )); - emisoraActual = null; - this.mediaItem.add(null); - } + playbackState.add(playbackState.value.copyWith( + processingState: AudioProcessingState.error, + playing: false, + errorMessage: 'Error inesperado al reproducir', + )); + emisoraActual = null; + this.mediaItem.add(null); rethrow; } }