Quick Start
Learn how to quickly integrate and use wavo in your React application
Basic Usage
Import and use wavo in your React components:
import { dataPoints } from "@docs/fixtures/data";import { Waveform } from "wavo";
const BasicWaveform = () => { return ( <Waveform.Container className="w-full text-[#f96706]" dataPoints={dataPoints}> <Waveform.Bars gap={10} width={5} /> </Waveform.Container> );};
export default BasicWaveform;Adding Playback Progress
To show playback progress, add the Progress component and pass a progress prop (value between 0 and 1):
import { dataPoints } from "@docs/fixtures/data";import type React from "react";import { useState } from "react";import { Waveform } from "wavo";
const WaveformWithProgress = () => { const [progress, setProgress] = useState(0.5);
// Handle keyboard interaction const handleKeyDown = (event: React.KeyboardEvent) => { switch (event.key) { case "ArrowRight": { event.preventDefault(); setProgress((p) => Math.min(1, p + 0.02)); break; } case "ArrowLeft": { event.preventDefault(); setProgress((p) => Math.max(0, p - 0.02)); break; } case " ": event.preventDefault(); break; default: // No action needed for other keys break; } };
return ( <Waveform.Container className="w-full text-[#3a2f27]" dataPoints={dataPoints} onClick={setProgress} onDrag={setProgress} onKeyDown={handleKeyDown} progress={progress} > <Waveform.Bars gap={10} width={5} /> <Waveform.Progress color="#f96706" /> </Waveform.Container> );};
export default WaveformWithProgress;Next Steps
- Check out the Examples to see more advanced usage
- Learn about all available Configuration Options
- See how to Handle Audio Data with wavo