fix(player): stabilize equalizer and visualizer
Build & Deploy Pluriwave / Análisis de código (push) Successful in 12s
Build & Deploy Pluriwave / Build APK + AAB release (push) Successful in 1m50s

This commit is contained in:
2026-05-21 21:56:25 +02:00
parent d0ceaac3f3
commit 921e972183
8 changed files with 427 additions and 228 deletions
+16
View File
@@ -69,6 +69,7 @@ class EstadoRadio extends ChangeNotifier {
final Map<String, PresetEcualizador> _presetsEmisoraMap = {};
PresetEcualizador _presetPrincipal = PresetEcualizador.flat;
PresetEcualizador _presetActual = PresetEcualizador.flat;
bool _ecualizadorActivo = true;
bool _cargandoPopulares = false;
bool _cargandoBusqueda = false;
@@ -102,6 +103,7 @@ class EstadoRadio extends ChangeNotifier {
Stream<EstadoReproduccion> get estadoStream => audio.estadoStream;
PresetEcualizador get presetEcualizador => _presetActual;
PresetEcualizador get presetPrincipalEcualizador => _presetPrincipal;
bool get ecualizadorActivo => _ecualizadorActivo;
bool get ecualizadorDisponible => audio.ecualizadorDisponible;
bool get emisoraActualEsFavorita {
@@ -172,13 +174,16 @@ class EstadoRadio extends ChangeNotifier {
final config = await servicioEcualizador.cargar();
_presetPrincipal = config.principal;
_presetActual = config.principal;
_ecualizadorActivo = config.activo;
_presetsEmisoraMap
..clear()
..addAll(config.porEmisora);
await audio.setEcualizadorActivo(_ecualizadorActivo);
await audio.aplicarPreset(_presetPrincipal);
} catch (_) {
_presetPrincipal = PresetEcualizador.flat;
_presetActual = PresetEcualizador.flat;
_ecualizadorActivo = true;
_presetsEmisoraMap.clear();
}
}
@@ -483,6 +488,16 @@ class EstadoRadio extends ChangeNotifier {
}
}
Future<void> cambiarEcualizadorActivo(bool activo) async {
_ecualizadorActivo = activo;
await servicioEcualizador.guardarActivo(activo);
await audio.setEcualizadorActivo(activo);
if (activo) {
await audio.aplicarPreset(_presetActual);
}
notifyListeners();
}
Future<void> cambiarPresetEcualizador(
PresetEcualizador preset, {
bool guardarPorEmisora = true,
@@ -632,6 +647,7 @@ class EstadoRadio extends ChangeNotifier {
ConfiguracionEcualizador(
principal: _presetPrincipal,
porEmisora: _presetsEmisoraMap,
activo: _ecualizadorActivo,
),
);