Usage
This demo uses your device's microphone.
Code
'use client';import { useSession, useVoiceAssistant } from '@livekit/components-react';import { AgentSessionProvider } from '@/components/agents-ui/agent-session-provider';import { AgentAudioVisualizerGrid } from '@/components/agents-ui/agent-audio-visualizer-grid';const TOKEN_SOURCE = TokenSource.sandboxTokenServer(process.env.MY_LK_SANDBOX_TOKEN_SERVER_ID);export funnction Demo() {const { audioTrack, state } = useVoiceAssistant();return (<AgentAudioVisualizerGridsize="lg"state={state}radius={3}interval={100}rowCount={15}columnCount={15}audioTrack={audioTrack}/>);}export default function DemoWrapper({ session }) {const session = useSession(TOKEN_SOURCE);return (<AgentSessionProvider session={session}><Demo /></AgentSessionProvider>);}
Features
- Used to visualize the agent's audio tracks
- Configure the speed of the animation
- Configure row and column size independently
- Supports five sizes:
icon,sm,md,lg, andxl - Pass a
transformerfunction that can be used to apply custom CSS properties
Installation
pnpm dlx shadcn@latest add @agents-ui/agent-audio-visualizer-grid
Props
| Prop name | Type | Default |
|---|---|---|
radius? | number | – |
interval? | number | 100 |
rowCount? | number | 5 |
columnCount? | number | 5 |
transformer? | function | – |
className? | string | – |
children? | ReactNode | – |
size? | enum | md |
state? | enum | connecting |
audioTrack? | LocalAudioTrack | RemoteAudioTrack | TrackReferenceOrPlaceholder | – |
ref? | Ref<HTMLDivElement> | – |
...props? | ComponentProps<'div'> | |