# Notas de grabación y visualización real de audio Referencia interna: este archivo vive en `docs/` y no está listado en `flutter.assets`, así que no se compila dentro de la aplicación. ## Decisiones aplicadas - La grabación de radio se hace leyendo el stream HTTP original de la emisora y escribiendo sus bytes a disco. No se graba micrófono ni salida del sistema. - La ventaja es que se conserva la calidad original del stream y se evita recomprimir audio. - La forma de onda real se intenta capturar en Android con `android.media.audiofx.Visualizer` usando el `androidAudioSessionId` expuesto por `just_audio`. - Si Android deniega permisos o el dispositivo no permite capturar esa sesión, la UI cae al visualizador animado anterior para no bloquear el reproductor. ## Fuentes consultadas - `just_audio` expone `androidAudioSessionIdStream` para enlazar efectos o visualizadores Android a la sesión activa: https://pub.dev/packages/just_audio/versions/0.10.4 - Android `Visualizer` permite capturar waveform de contenido en reproducción y requiere permiso `RECORD_AUDIO`: https://www.android-doc.com/reference/android/media/audiofx/Visualizer.html - Radio Browser permite ordenar búsquedas por `bitrate` y expone campos `codec`/`bitrate`: https://stations.radioss.app/ - El paquete `audio_visualizer` existe, pero se descartó como dependencia inmediata porque duplicaría reproducción con su propio player; PluriWave ya usa `audio_service` + `just_audio` y acabamos de estabilizar ese flujo: https://pub.dev/packages/audio_visualizer