-
-
Notifications
You must be signed in to change notification settings - Fork 104
Open
Description
import React, { useEffect, useRef } from 'react';
import { Wave } from 'foobar404/wave';
function Visualizer({ audioUrl }) {
const waveRef = useRef(null);
const canvasRef = useRef(null);
useEffect(() => {
if (canvasRef.current) {
const wave = new Wave(canvasRef.current);
wave.fromElement("audioElement", "canvas", {
type: 'flower', // You can choose other types like bars, wave, etc.
colors: ["red", "white", "blue"]
});
waveRef.current = wave;
}
// Cleanup
return () => waveRef.current && waveRef.current.stop();
}, [audioUrl]);
return (
<div>
<audio id="audioElement" src={audioUrl} controls />
<canvas ref={canvasRef}></canvas>
</div>
)
}
export default Visualizer
Metadata
Metadata
Assignees
Labels
No labels

