feat(player): add radio recording and real waveform
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user