Skip to main content
Docs
Search
Search...
⌘
K
to ask AI
GitHub
Ask AI
Introduction
Introduction
Build Agents
Build Agents
Agent Frontends
Agent Frontends
Telephony
Telephony
WebRTC Transport
WebRTC Transport
Manage & Deploy
Manage & Deploy
References
References
Search
Search...
⌘
K
to ask AI
Ask AI
Introduction
Introduction
Build Agents
Build Agents
Agent Frontends
Agent Frontends
Telephony
Telephony
WebRTC Transport
WebRTC Transport
Manage & Deploy
Manage & Deploy
References
References
React components
Getting started
Installation
Best practices
Concepts
Building blocks
LiveKitRoom component
Contexts
Loop components
Custom components
Style components
Rendering video tracks
Rendering audio tracks
Hooks
useAgent
useAudioPlayback
useAudioWaveform
useChat
useChatToggle
useClearPinButton
useConnectionQualityIndicator
useConnectionState
useCreateLayoutContext
useDataChannel
useDisconnectButton
useEnsureCreateLayoutContext
useEnsureLayoutContext
useEnsureParticipant
useEnsureRoom
useEnsureSession
useEnsureTrackRef
useEvents
useFacingMode
useFocusToggle
useGridLayout
useIsEncrypted
useIsMuted
useIsRecording
useIsSpeaking
useKrispNoiseFilter
useLayoutContext
useLiveKitRoom
useLocalParticipant
useLocalParticipantPermissions
useMaybeLayoutContext
useMaybeParticipantContext
useMaybeRoomContext
useMaybeSessionContext
useMaybeTrackRefContext
useMediaDevices
useMediaDeviceSelect
useMultibandTrackVolume
usePagination
useParticipantAttribute
useParticipantAttributes
useParticipantContext
useParticipantInfo
useParticipantPermissions
useParticipants
useParticipantTile
useParticipantTracks
usePersistentUserChoices
usePinnedTracks
usePreviewDevice
usePreviewTracks
useRemoteParticipant
useRemoteParticipants
useRoomContext
useRoomInfo
useRpc
useSequentialRoomConnectDisconnect
useSession
useSessionContext
useSessionMessages
useSortedParticipants
useSpeakingParticipants
useStartAudio
useStartVideo
useSwipe
useTextStream
useToken
useTrackByName
useTrackMutedIndicator
useTrackRefContext
useTracks
useTrackToggle
useTrackTranscription
useTrackVolume
useTranscriptions
useVisualStableUpdate
useVoiceAssistant
Components
AudioConference
AudioTrack
AudioVisualizer
BarVisualizer
CarouselLayout
Chat
ChatEntry
ChatToggle
ClearPinButton
ConnectionQualityIndicator
ConnectionState
ConnectionStateToast
ControlBar
DisconnectButton
FocusLayout
FocusLayoutContainer
FocusToggle
GridLayout
LayoutContext
LayoutContextProvider
LiveKitRoom
MediaDeviceMenu
MediaDeviceSelect
ParticipantAudioTile
ParticipantContext
ParticipantContextIfNeeded
ParticipantLoop
ParticipantName
ParticipantTile
PreJoin
RoomAudioRenderer
RoomContext
RoomName
SessionProvider
StartAudio
StartMediaButton
Toast
TrackLoop
TrackMutedIndicator
TrackRefContext
TrackToggle
VideoConference
VideoTrack
VoiceAssistantControlBar
X
YouTube
Slack
React components
Getting started
Installation
Best practices
Concepts
Building blocks
LiveKitRoom component
Contexts
Loop components
Custom components
Style components
Rendering video tracks
Rendering audio tracks
Hooks
useAgent
useAudioPlayback
useAudioWaveform
useChat
useChatToggle
useClearPinButton
useConnectionQualityIndicator
useConnectionState
useCreateLayoutContext
useDataChannel
useDisconnectButton
useEnsureCreateLayoutContext
useEnsureLayoutContext
useEnsureParticipant
useEnsureRoom
useEnsureSession
useEnsureTrackRef
useEvents
useFacingMode
useFocusToggle
useGridLayout
useIsEncrypted
useIsMuted
useIsRecording
useIsSpeaking
useKrispNoiseFilter
useLayoutContext
useLiveKitRoom
useLocalParticipant
useLocalParticipantPermissions
useMaybeLayoutContext
useMaybeParticipantContext
useMaybeRoomContext
useMaybeSessionContext
useMaybeTrackRefContext
useMediaDevices
useMediaDeviceSelect
useMultibandTrackVolume
usePagination
useParticipantAttribute
useParticipantAttributes
useParticipantContext
useParticipantInfo
useParticipantPermissions
useParticipants
useParticipantTile
useParticipantTracks
usePersistentUserChoices
usePinnedTracks
usePreviewDevice
usePreviewTracks
useRemoteParticipant
useRemoteParticipants
useRoomContext
useRoomInfo
useRpc
useSequentialRoomConnectDisconnect
useSession
useSessionContext
useSessionMessages
useSortedParticipants
useSpeakingParticipants
useStartAudio
useStartVideo
useSwipe
useTextStream
useToken
useTrackByName
useTrackMutedIndicator
useTrackRefContext
useTracks
useTrackToggle
useTrackTranscription
useTrackVolume
useTranscriptions
useVisualStableUpdate
useVoiceAssistant
Components
AudioConference
AudioTrack
AudioVisualizer
BarVisualizer
CarouselLayout
Chat
ChatEntry
ChatToggle
ClearPinButton
ConnectionQualityIndicator
ConnectionState
ConnectionStateToast
ControlBar
DisconnectButton
FocusLayout
FocusLayoutContainer
FocusToggle
GridLayout
LayoutContext
LayoutContextProvider
LiveKitRoom
MediaDeviceMenu
MediaDeviceSelect
ParticipantAudioTile
ParticipantContext
ParticipantContextIfNeeded
ParticipantLoop
ParticipantName
ParticipantTile
PreJoin
RoomAudioRenderer
RoomContext
RoomName
SessionProvider
StartAudio
StartMediaButton
Toast
TrackLoop
TrackMutedIndicator
TrackRefContext
TrackToggle
VideoConference
VideoTrack
VoiceAssistantControlBar
404
Sorry, we couldn't find that page.
Are you looking for this page?
/reference/components/react/hook/usedatachannel
Explore our resources
Reference
Reference documentation for the LiveKit SDKs.
Recipes
A comprehensive collection of LiveKit examples, guides, and demos.
Agents
Use the LiveKit Agents framework to build AI agents for a variety of use cases.
Ask the community
Get help from the developer community.
Ask AI
Ask LiveKit
Your AI guide to building with LiveKit
What is LiveKit?
How do I get started building a voice agent?
How do I answer phone calls with a voice agent?
What STT and TTS providers can I use?
How do I record a LiveKit session?
What are the usage limits on LiveKit Cloud?
How do I connect my agent to my own data or APIs?
You can toggle this panel with
⌘
+
I
Page not found | LiveKit Documentation