fix(工具箱/MSU2 USB 小屏幕控制): 优化 renderAudioSpectrum 的算法
This commit is contained in:
@@ -1264,12 +1264,18 @@ async function renderAudioSpectrum() {
|
|||||||
audioAnalyser.getByteFrequencyData(audioDataArray);
|
audioAnalyser.getByteFrequencyData(audioDataArray);
|
||||||
|
|
||||||
// 计算柱状图宽度和间距
|
// 计算柱状图宽度和间距
|
||||||
let barWidth = (CANVAS_WIDTH / audioBufferLength) * 2.5;
|
let barMargin = 1;
|
||||||
|
let barWidth = (CANVAS_WIDTH / audioBufferLength) * 2 - barMargin;
|
||||||
let x = 0;
|
let x = 0;
|
||||||
|
|
||||||
// 绘制频谱柱状图
|
// 绘制频谱柱状图
|
||||||
for (let i = 0; i < audioBufferLength; i++) {
|
for (let i = 0; i < audioBufferLength; i++) {
|
||||||
|
|
||||||
|
// 每 2 个数据点绘制一个柱状图
|
||||||
|
if (i % 2 !== 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// 计算柱状图高度
|
// 计算柱状图高度
|
||||||
let barHeight = (audioDataArray[i] / 255) * CANVAS_HEIGHT;
|
let barHeight = (audioDataArray[i] / 255) * CANVAS_HEIGHT;
|
||||||
|
|
||||||
@@ -1284,7 +1290,7 @@ async function renderAudioSpectrum() {
|
|||||||
canvasCtx.value.fillRect(x, CANVAS_HEIGHT - barHeight, barWidth, barHeight);
|
canvasCtx.value.fillRect(x, CANVAS_HEIGHT - barHeight, barWidth, barHeight);
|
||||||
|
|
||||||
// 移动到下一个柱状图位置
|
// 移动到下一个柱状图位置
|
||||||
x += barWidth + 1;
|
x += barWidth + barMargin;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user