- Add WebSocket endpoints for live audio spectrum streaming at ~20Hz - Audio source test: resolves device/channel, shares stream via ref-counting - Audio template test: includes device picker dropdown for selecting input - Canvas-based 64-band spectrum visualizer with falling peaks and beat flash - Channel-aware: mono sources show left/right/mixed spectrum correctly Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
28 lines
1.6 KiB
HTML
28 lines
1.6 KiB
HTML
<!-- Test Audio Source Modal -->
|
|
<div id="test-audio-source-modal" class="modal" role="dialog" aria-modal="true" aria-labelledby="test-audio-source-modal-title">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h2 id="test-audio-source-modal-title" data-i18n="audio_source.test.title">Test Audio Source</h2>
|
|
<button class="modal-close-btn" onclick="closeTestAudioSourceModal()" title="Close" data-i18n-aria-label="aria.close">✕</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<canvas id="audio-test-canvas" class="audio-test-canvas"></canvas>
|
|
<div class="audio-test-stats">
|
|
<span class="audio-test-stat">
|
|
<span class="audio-test-stat-label" data-i18n="audio_source.test.rms">RMS</span>
|
|
<span class="audio-test-stat-value" id="audio-test-rms">---</span>
|
|
</span>
|
|
<span class="audio-test-stat">
|
|
<span class="audio-test-stat-label" data-i18n="audio_source.test.peak">Peak</span>
|
|
<span class="audio-test-stat-value" id="audio-test-peak">---</span>
|
|
</span>
|
|
<span class="audio-test-stat">
|
|
<span id="audio-test-beat-dot" class="audio-test-beat-dot"></span>
|
|
<span class="audio-test-stat-label" data-i18n="audio_source.test.beat">Beat</span>
|
|
</span>
|
|
</div>
|
|
<div id="audio-test-status" class="audio-test-status" data-i18n="audio_source.test.connecting">Connecting...</div>
|
|
</div>
|
|
</div>
|
|
</div>
|