diff --git a/HTML/audio-visualization/4.html b/HTML/audio-visualization/4.html
index 280c9ff..00bda81 100644
--- a/HTML/audio-visualization/4.html
+++ b/HTML/audio-visualization/4.html
@@ -792,47 +792,8 @@
}
}
- // ==================== 扫描环(速度感环) ====================
- let rings = [];
-
- function spawnRing() {
- rings.push({
- radius: 10,
- maxRadius: Math.max(width, height) * 0.8,
- life: 1,
- decay: 0.008,
- hue: 200 + Math.random() * 20,
- width: 2 + Math.random() * 2
- });
- }
-
- function updateAndDrawRings(bass) {
- for (let i = rings.length - 1; i >= 0; i--) {
- const r = rings[i];
- r.radius += 8 + bass * 15;
- r.life -= r.decay;
-
- if (r.life <= 0 || r.radius > r.maxRadius) {
- rings.splice(i, 1);
- continue;
- }
-
- ctx.save();
- ctx.globalAlpha = r.life * 0.3;
- ctx.strokeStyle = `hsl(${r.hue}, 15%, 70%)`;
- ctx.lineWidth = r.width * r.life;
- ctx.shadowBlur = 15;
- ctx.shadowColor = 'rgba(255, 255, 255, 0.4)';
- ctx.beginPath();
- ctx.arc(cx, cy, r.radius, 0, Math.PI * 2);
- ctx.stroke();
- ctx.restore();
- }
- }
-
// ==================== 主渲染循环 ====================
let lastTime = 0;
- let ringTimer = 0;
let warpLineTimer = 0;
let speedValue = 0;
@@ -899,20 +860,6 @@
}
updateAndDrawWarpLines(bass, treble);
- // 生成和绘制扫描环(无声音时不生成)
- if (avg > 0.03) {
- ringTimer += dt;
- const ringInterval = Math.max(200, 800 - avg * 500 - bass * 300);
- if (ringTimer > ringInterval) {
- ringTimer = 0;
- spawnRing();
- }
- if (isBeat && bass > 0.4) {
- spawnRing();
- }
- }
- updateAndDrawRings(bass);
-
// 节拍粒子爆发
if (isBeat && bass > 0.3) {
spawnParticles(0.5 + bass);