From 58116ff311377604a9d3d4e49622a7fe50605c86 Mon Sep 17 00:00:00 2001 From: Frost-ZX Date: Thu, 21 May 2026 23:40:54 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=B7=A5=E5=85=B7=E7=AE=B1/MSU2=20USB=20?= =?UTF-8?q?=E5=B0=8F=E5=B1=8F=E5=B9=95=E6=8E=A7=E5=88=B6):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=20`renderAudioSpectrum`=20=E7=9A=84=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Msu2UsbMonitorController.vue | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/views/ToolboxView/Other/Msu2UsbMonitorController/Msu2UsbMonitorController.vue b/src/views/ToolboxView/Other/Msu2UsbMonitorController/Msu2UsbMonitorController.vue index 8269b27..5b41d68 100644 --- a/src/views/ToolboxView/Other/Msu2UsbMonitorController/Msu2UsbMonitorController.vue +++ b/src/views/ToolboxView/Other/Msu2UsbMonitorController/Msu2UsbMonitorController.vue @@ -1264,12 +1264,18 @@ async function renderAudioSpectrum() { audioAnalyser.getByteFrequencyData(audioDataArray); // 计算柱状图宽度和间距 - let barWidth = (CANVAS_WIDTH / audioBufferLength) * 2.5; + let barMargin = 1; + let barWidth = (CANVAS_WIDTH / audioBufferLength) * 2 - barMargin; let x = 0; // 绘制频谱柱状图 for (let i = 0; i < audioBufferLength; i++) { + // 每 2 个数据点绘制一个柱状图 + if (i % 2 !== 0) { + continue; + } + // 计算柱状图高度 let barHeight = (audioDataArray[i] / 255) * CANVAS_HEIGHT; @@ -1284,7 +1290,7 @@ async function renderAudioSpectrum() { canvasCtx.value.fillRect(x, CANVAS_HEIGHT - barHeight, barWidth, barHeight); // 移动到下一个柱状图位置 - x += barWidth + 1; + x += barWidth + barMargin; }