Media | Equalizer
Equalizer#
Descripción#
- Ecualizador gráfico con bandas verticales arrastrables, curva de respuesta en frecuencia y selector de perfiles.
- No sabe nada de D-Bus: recibe frecuencias, ganancias, rango y perfiles, y emite lo que se tocó.
- Las bandas se dibujan con
role="slider"vertical y soportan arrastre con puntero y teclado (flechas, Re Pág/Av Pág, Inicio/Fin).
Props#
frequencies(readonly number[]) — Frecuencias de las bandas en Hz. Requerido.gains(readonly number[]) — Ganancia de cada banda en dB, en el mismo orden. Requerido.range(readonly [number, number]) — Mínimo y máximo de cada banda en dB. Por defecto:[-12, 12].step(number) — Paso de ajuste en dB. Por defecto:0.5.presets(readonly EqualizerPreset[]) — Perfiles disponibles. Por defecto:[].preset(string) — Perfil elegido; si no está enpresets, es el perfil propio. Por defecto:''.customLabel(string) — Nombre del perfil propio. Por defecto:undefined.saved(boolean) — Si los cambios están guardados. Por defecto:true.enabled(boolean) — Si el ecualizador está activo. Por defecto:true.available(boolean) — Si el servicio está disponible en el bus. Por defecto:true.title(string) — Título de la sección. Por defecto:undefined.savedLabel(string) — Etiqueta de «guardado». Por defecto:undefined.unsavedLabel(string) — Etiqueta de «no guardado». Por defecto:undefined.unavailableLabel(string) — Etiqueta de «no disponible». Por defecto:undefined.presetsLabel(string) — Etiqueta de «perfiles». Por defecto:undefined.
EqualizerPreset#
value(string) — Identificador del perfil. Requerido.label(string) — Nombre traducido del perfil. Requerido.
Emite#
gain(band: number, value: number) — Se emite cuando se mueve una banda, con el índice y la nueva ganancia en dB.preset(value: string) — Se emite al elegir un perfil.
Uso#
| |
Notas#
- La curva se dibuja con
clip-path: polygon()sobre dos cajas (trazo y velo), sin SVG. availableenfalseapaga todo y muestra un mensaje;enabledenfalseatenúa las bandas pero deja elegir perfil.- La aplicación es responsable de limitar las llamadas durante el arrastre (unas 30 por segundo).