import {
LiveKitRoom,
RoomAudioRenderer,
useVoiceAssistant,
useTrackTranscription,
} from "@livekit/components-react";
import "@livekit/components-styles";
function VoiceCall({ livekitUrl, token }) {
return (
<LiveKitRoom
serverUrl={livekitUrl}
token={token}
connect={true}
onError={(error) => console.error("Connection error:", error)}
>
<RoomAudioRenderer />
<VoiceControls />
</LiveKitRoom>
);
}
function VoiceControls() {
const { agentAudioTrack, voiceAssistant } = useVoiceAssistant();
const { segments } = useTrackTranscription(agentAudioTrack);
return (
<div>
<p>Status: {voiceAssistant.state}</p>
<div>
{segments.map((seg, i) => (
<p key={i}>{seg.text}</p>
))}
</div>
</div>
);
}