LogoLogo
WherebyStatusCommunity
  • 📹Whereby 101
    • Create Your Video Experience
      • Get started in 3 steps
      • Embedding Whereby in a web app
        • Using Whereby's Web Component & Pre-built UI
          • Script Tags
          • With Low Code
            • Embedding in Squarespace or Wordpress
            • No code video conferencing in Bubble
        • Using Whereby's Browser SDK with React Hooks for a fully custom UI
      • Embedding Whereby in a mobile app
        • Embedding Whereby in iOS
          • Using Whereby's Native iOS SDK
        • Embedding Whereby in Android
          • Using Whereby's Native SDK
        • Using Flutter
        • Using React Native
      • Github SDK Examples
      • Meeting scheduling with Cronofy
    • Generating Room URLs
      • Name prefixes
      • Using “Create a room”
      • Using Postman
    • Customize Your Video Experience
      • During room creation
      • Using Attributes/URL Params
      • Global preferences
      • Branding elements
      • Dial-In
      • File sharing
      • Breakout Groups with Embedded
      • Waiting Rooms
    • User roles & Meeting Permissions
    • FAQ
      • Accessibility
      • Whereby Words
      • Firewall & Security
      • HIPAA compliant setup
      • Allowed Domains & Localhost
      • Whereby Embedded Feature Comparison
  • 🔍Meeting Content & Quality
    • Recording
      • Cloud Recording
      • Local Recording
    • Transcribing
      • Session Transcription
      • Recording Transcription
    • Live Captions
    • Session summaries
    • Live streaming RTMP
    • Quality Insights
      • Real-time troubleshooting
      • Using the Insights dashboard
      • Improving call quality
      • Tracking room events with Webhooks
  • 🤷End User
    • End User Support Guides
      • Supported Browsers & Devices
      • Screen Sharing Setup & Usage
      • Using Breakout Groups
      • Troubleshooting & Basics
  • 🚚Developer Guides
    • Quickly deploy Whereby to your domain
    • Tracking Customer Usage
    • Migrating from Twilio
      • Twilio JS SDK Quick Migration
      • Twilio JS SDK Direct Migration
  • 🖥️Reference
    • REST API Reference
      • /meetings
      • /insights
      • /recordings
      • /transcriptions
      • /summaries
      • /rooms
    • Web Component Reference
    • React Hooks Reference
      • Quick Start
        • Getting started with the Browser SDK
      • Guides & Tutorials
        • Migrate from version 2.x to 3
        • Grid logic
        • Custom Video Tiles with React
        • Usage with Next.js
        • How to customize the toolbar
      • API Reference
        • WherebyProvider
        • VideoView
        • VideoGrid
        • useLocalMedia
        • useRoomConnection
      • Types
    • React Native Reference
      • Quick Start
      • WherebyEmbed
    • Webhooks Reference
Powered by GitBook
On this page
  • MediaStreamConstraints
  • MediaStream
  • MediaDeviceInfo
  • RoomConnectionOptions: <Object>
  • ChatMessage: <Object>
  • CloudRecordingState: <Object>
  • LocalScreenshareStatus: <string>
  • LocalParticipant: <Object>
  • RemoteParticipant: <Object>
  • ClientView: <Object>
  • Screenshare: <Object>
  • RoomConnectionStatus: <string>
  • LiveStreamState: <Object>
  • WaitingParticipant: <Object>
  • Breakout: <Object>
  • Events
  • NotificationEvent
  • Event Props
  • StickyReactionEvent
  • RequestAudioEvent
  • SignalStatusEvent
  • ChatMessageEvent

Was this helpful?

Edit on GitHub
  1. Reference
  2. React Hooks Reference

Types

Last updated 3 months ago

Was this helpful?

MediaStreamConstraints

MediaStream

MediaDeviceInfo

RoomConnectionOptions: <Object>

Property
Description

displayName?: string

The name to use for the local participant

(you) in the call

Constraints to use for the local participant media (camera and microphone)

localMedia: LocalMedia

roomKey?: string

ChatMessage: <Object>

Property
Type
Description

senderId

string

Id of the participant who sent the chat message

text

string

Content of the chat message

timestamp

string

Timestamp of when the message was sent (TODO: format)

CloudRecordingState: <Object>

Property
Type
Description

status

"recording"

Cloud recording is active

startedAt

number

When the recording started

LocalScreenshareStatus: <string>

Value
Description

"inactive"

Local screenshare is inactive

"starting"

Local screenshare is currently starting, eg the local user is selecting what to share

"active"

Local screenshare is active

LocalParticipant: <Object>

Property
Type
Description

displayName

string

Display name of the local participant (you)

id

string

Local participant id

roleName

string

The role of the local participant. This will be one of the following values: none, visitor, granted_visitor, viewer, granted_viewer, host, recorder, streamer

stream

When set, the media stream (audio & video) of

the local participant

isAudioEnabled

boolean

The local participant has their microphone enabled

isVideoEnabled

boolean

The local participant has their camera enabled

isLocalParticipant

true

Always set to true. Can be used to easily identify the local participant if in an array with eg remote participants

RemoteParticipant: <Object>

Property
Types
Description

displayName

string

Display name of the remote participant

id

string

Id of the remote

participant

roleName

string

The role of the local participant. This will be one of the following values: none, visitor, granted_visitor, viewer, granted_viewer, host, recorder, streamer

stream

Stream of the remote participant

isAudioEnabled

boolean

The remote participant has their camera enabled

isVideoEnabled

boolean

The remote participant has their microphone enabled

ClientView: <Object>

A client view can be either a participant or a screenshare.

Property
Type
Description

id

string

Internal id

clientId

string

Id of the participant

displayName

string

Display name of the participant or screenshare

stream

isLocalClient

boolean

Is the client view owned by the local participant?

isAudioEnabled

boolean

The client view has their microphone enabled

isVideoEnabled

boolean

The client view has their camera enabled

isPresentation

boolean

The client view is a presentation (screenshare)

Screenshare: <Object>

Property
Type
Description

participantId

string

Id of the participant owning the screenshare

id

string

Id of the screenshare

hasAudioTrack

boolean

stream

isLocal

boolean

Is the screenshare owned by the local participant?

RoomConnectionStatus: <string>

Value
Description

"ready"

Ready to join the room

"connecting"

Currently in the process of doing the initial connection in the room

"connected"

Connected in the room, this is the "stable" state

"room_locked"

Connection failed due to the room being locked, a knock is required to proceed

"knocking"

Waiting for the room host to respond to the knock request

"knock_rejected"

The host rejected your knock request

"kicked"

The current participant was kicked from the room.

This can happen in the following scenarios:

  • when a meeting host ends the meeting for all participants in the room

  • when a meeting host kicks the current participant individually from the room

"leaving"

The current participant has invoked the leaveRoom action to exit the room.

"left"

The current participant has now successfully left the room and all other room participants have been notified.

"disconnected"

The current participant has been disconnected from the room due to an unplanned loss of network connection.

This can happen during temporary network outage (e.g. loss of network or switching networks). If/when the network connection returns the SDK will change the room connection status to reconnectingautomatically.

"reconnecting"

A lost internet connection has been re-established.

The SDK will now automatically re-connect the current participant to the previous room and the room connection state will change to either: a.) knocking if the room is locked, or; b.) connected if the room is unlocked.

LiveStreamState: <Object>

Property
Type
Description

status

"streaming"

Live streaming is in progress

startedAt

number

When the live stream started

WaitingParticipant: <Object>

Property
Type
Description

id

string

Id of the participant waiting to be let in

displayName

string

Breakout: <Object>

Property
Type
Description

isActive

boolean

The state of the breakout session. If it's true, a breakout session is currently ongoing in the room

currentGroup

{ id: string, name: string } | null

An object containing the information of the breakout group that the participant is currently in. nullif the SDK participant is not in a group.

groupedParticipants

List of the groups in the current breakout session, including the participants in each group.

participantsInCurrentGroup

Participants in the current breakout group. Empty list if the SDK participants is not currently in a group.

Events

NotificationEvent

All events are of type NotificationEvent, with

Property
Type
Description

type

string

message

string

props

Event Props

StickyReactionEvent

Property
Type
Description

client

stickyReaction

{ reaction: string, timestamp: string } | null

RequestAudioEvent

Property
Type
Description

client

enable

boolean

SignalStatusEvent

Property
Type
Description

ChatMessageEvent

Property
Type
Description

client

chatMessage

localMediaConstraints?:

Existing local media to use, as provided by the hook

Room key to use if the local participant should assume a non-standard role in the room, such as

?

?

?

?

{ clients: [], group: { id: string, name: string } []

[]

🖥️
LogoMediaDevices: getUserMedia() method - Web APIs | MDN
LogoMediaStream - Web APIs | MDN
LogoMediaDeviceInfo - Web APIs | MDN
useLocalMedia
host or viewer
MediaStreamConstraints
MediaStream
MediaStream
MediaStream
MediaStream
RemoteParticipant
RemoteParticipant
EventProps
RemoteParticipant
RemoteParticipant
RemoteParticipant
ChatMessage