UNPKG

sound-visualizer

Version:
35 lines (32 loc) 1.02 kB
import { defaultOptions } from "./chunk-F6H7DK7K.mjs"; import { widthFromOption } from "./chunk-CJAQWSZU.mjs"; // src/current/draw/impure.ts function drawCurrentWave(canvas, audioData, options = defaultOptions) { const context = canvas.getContext("2d"); if (!context) return; const { strokeColor = "#000", rectWidth = "default", heightNorm = 1 } = options; const { height, width } = canvas; const sliceWidth = width / audioData.length; context.lineWidth = widthFromOption(rectWidth, width); context.strokeStyle = strokeColor; context.clearRect(0, 0, width, height); context.beginPath(); context.moveTo(0, height / 2); for (let i = 0; i < audioData.length; i++) { const x = i * sliceWidth; const fraction = audioData[i] / 255; const sectionSize = height * heightNorm; const y = fraction * sectionSize + (height - sectionSize) * 0.5; context.lineTo(x, y); } context.lineTo(sliceWidth * audioData.length, height / 2); context.stroke(); } export { drawCurrentWave };