From a022916e7ac8c32d029aae57bcb45f2ceec6198b Mon Sep 17 00:00:00 2001 From: Frost-ZX Date: Sun, 5 Jul 2026 14:56:46 +0800 Subject: [PATCH] =?UTF-8?q?chore(HTML):=20=E6=9B=B4=E6=96=B0=20audio-visua?= =?UTF-8?q?lization=20=E9=83=A8=E5=88=86=E9=A1=B5=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E6=89=A9=E5=B1=95=E9=A2=91=E8=B0=B1=E9=AB=98=E9=A2=91=E8=8C=83?= =?UTF-8?q?=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HTML/audio-visualization/1.html | 2 +- HTML/audio-visualization/2.html | 2 +- HTML/audio-visualization/5.html | 2 +- HTML/audio-visualization/6.html | 2 +- HTML/audio-visualization/7.html | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/HTML/audio-visualization/1.html b/HTML/audio-visualization/1.html index c21a726..4887b66 100644 --- a/HTML/audio-visualization/1.html +++ b/HTML/audio-visualization/1.html @@ -494,7 +494,7 @@ // 模式0:频谱柱状图(居中对称 + 镜像) function drawSpectrum() { - const barCount = bufferLength / 2; + const barCount = bufferLength; // 使用全部频段 bin,保留高频 const barWidth = (width * 0.8) / barCount; const gap = 2; const maxBarHeight = height * 0.35; diff --git a/HTML/audio-visualization/2.html b/HTML/audio-visualization/2.html index b51292a..d3b144b 100644 --- a/HTML/audio-visualization/2.html +++ b/HTML/audio-visualization/2.html @@ -204,7 +204,7 @@ // 对数分布采样索引,低频更细腻 function buildBands(bins) { const bands = []; - const minF = 2, maxF = bins * 0.72; + const minF = 2, maxF = bins; // 覆盖全部 bin,保留高频 for (let i = 0; i <= BAR_COUNT; i++) { const t = i / BAR_COUNT; bands.push(Math.floor(minF * Math.pow(maxF / minF, t))); diff --git a/HTML/audio-visualization/5.html b/HTML/audio-visualization/5.html index 2a51344..6b106af 100644 --- a/HTML/audio-visualization/5.html +++ b/HTML/audio-visualization/5.html @@ -895,7 +895,7 @@ function drawFreqBars(high) { const gap = W / barCount * 0.4; for (let i = 0; i < barCount; i++) { - const freqIdx = Math.floor(i / barCount * (freqData.length * 0.6)); + const freqIdx = Math.floor(i / barCount * (freqData.length - 1)); // 覆盖全部频段,保留高频 const val = freqData[freqIdx] / 255; const barH = val * H * 0.35; const x = i * (barWidth + gap) + gap * 0.5; diff --git a/HTML/audio-visualization/6.html b/HTML/audio-visualization/6.html index e7a85a7..63d99dd 100644 --- a/HTML/audio-visualization/6.html +++ b/HTML/audio-visualization/6.html @@ -311,7 +311,7 @@ function drawSpectrum(x, y, w, h) { ctx.save(); const bars = 64; - const step = Math.floor(freqData.length / 2 / bars); + const step = Math.floor(freqData.length / bars); // 覆盖全部 bin,保留高频 const bw = w / bars; if (peakHold.length !== bars) peakHold = new Array(bars).fill(0); diff --git a/HTML/audio-visualization/7.html b/HTML/audio-visualization/7.html index 087afab..006f6a4 100644 --- a/HTML/audio-visualization/7.html +++ b/HTML/audio-visualization/7.html @@ -360,7 +360,7 @@ function drawGrid(time) { function drawSkyline() { if (!freqArray) return; const binCount = analyser.frequencyBinCount; - const usable = Math.floor(binCount * 0.6); + const usable = binCount; // 覆盖全部频段,保留高频 const barCount = 80; const barW = W / barCount; const baseY = H * 0.9;