UNPKG

sound-visualizer

Version:
39 lines (36 loc) 884 B
import { startAnalysis } from "./chunk-XPCAL55N.mjs"; import { drawCurrentWave } from "./chunk-JBV6426I.mjs"; import { clearCanvas } from "./chunk-GVWDEUAU.mjs"; // src/current/main.ts function currentVisualizer(audio, canvas, drawOptions) { let animationFrameId = null; const { analyse, disconnect } = startAnalysis(audio); function start() { if (animationFrameId !== null) cancelAnimationFrame(animationFrameId); function tick() { drawCurrentWave(canvas, analyse(), drawOptions); animationFrameId = requestAnimationFrame(tick); } animationFrameId = requestAnimationFrame(tick); } function stop() { if (animationFrameId !== null) cancelAnimationFrame(animationFrameId); disconnect(); } function reset() { stop(); clearCanvas(canvas); } return { start, stop, reset }; } export { currentVisualizer };