Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

123
Vistas
¿Hay alguna manera de lograr el equivalente de getByteFrequencyData para una pista de audio completa?

Así que he estado jugando con la visualización de audio en Javascript. Tengo un código que se parece a esto.

 let audioElement = document.getElementById('source'); let audioCtx = new AudioContext(); let analyser = audioCtx.createAnalyser(); analyser.fftSize = 2048; let total_rects=analyser.fftSize/32; let source = audioCtx.createMediaElementSource(audioElement); source.connect(analyser); source.connect(audioCtx.destination); var data = new Uint8Array(analyser.frequencyBinCount);

Entonces puedo correr

 analyser.getByteFrequencyData(data);

Lo cual, mientras se reproduce el audio, llenará la variable "datos" con una matriz que representa los datos de frecuencia del audio para el "fotograma" actual, por así decirlo. Lo que quiero poder hacer es crear una matriz de dichos datos para cada "fotograma". O, alternativamente, para seleccionar datos arbitrariamente en función de la marca de tiempo. (En milisegundos, digamos).

Actualmente puedo hacer algo como esto:

 let final_data=[]; let captureFunction=function() { analyser.getByteFrequencyData(data); final_data.push([...data]); } if(!audio_ended) { window.requestAnimationFrame(captureFunction); } }; window.requestAnimationFrame(captureFunction);

Esto funciona razonablemente bien, pero técnicamente no puedo garantizar la frecuencia o la confiabilidad de la activación de requestAnimationFrame. ¿Cómo podría lograr lo que estoy tratando de hacer?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda