Components
Loading preview...
A sleek modern music player with an audio-reactive dot-grid visualizer, spinning disc, smooth cover/track crossfades, and a Web Audio API beat-sync oscillator. Zero external animation dependencies, pure CSS keyframes and requestAnimationFrame.
@smammar100
npx shadcn@latest add https://21st.dev/r/smammar100/music-player-widgetimport { MusicPlayer, type Track } from '@/components/ui/music-player-widget';
const tracks: Track[] = [
{
title: 'Southern Roots Boogie',
artist: 'Falconer',
cover: 'https://picsum.photos/seed/falconer/600',
src: 'https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3',
},
{
title: 'Sax Party',
artist: 'Ofer Koren',
cover: 'https://picsum.photos/seed/sax/600',
src: 'https://www.soundhelix.com/examples/mp3/SoundHelix-Song-2.mp3',
},
{
title: 'Nonsense',
artist: 'Raw',
cover: 'https://picsum.photos/seed/raw/600',
src: 'https://www.soundhelix.com/examples/mp3/SoundHelix-Song-3.mp3',
},
];
export default function Default() {
return (
<div
style={{
minHeight: '100vh',
display: 'grid',
placeItems: 'center',
padding: 32,
}}
>
<MusicPlayer tracks={tracks} crossOrigin="anonymous" />
</div>
);
}