sound-visualizer
Version:
35 lines (32 loc) • 1.02 kB
JavaScript
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
};