CallClient class

The main entry point for using Daily, CallClient is used to join a Daily room with configurable media inputs, as well as quality and bandwidth settings when publishing tracks.

A CallClient instance is pre-configured with reasonable defaults for a high-quality video calling experience but can be further configured to fit different use cases.

Properties

activeSpeaker Participant?
The current active speaker in this CallClient's call.
no setter
availableDevices Devices
The devices currently available to this CallClient.
no setter
callConfig CallConfig?
The current CallConfig, if in a call.
no setter
callState CallState
The current CallState.
no setter
events Stream<Event>
The stream of events from this CallClient
no setter
hashCode int
The hash code for this object.
no setterinherited
inputs InputSettings
The current input settings
no setter
networkStats NetworkStats?
Returns the last reported network statistics.
no setter
participantCounts ParticipantCounts
The current participant counts in this CallClient's call.
no setter
participants Participants
The current participants in this CallClient's call.
no setter
publishing PublishingSettings
The current publishing settings.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
subscriptionProfiles Map<SubscriptionProfile, MediaSubscriptionSettings>
Subscription settings for all profiles configured for this call. SubscriptionProfile.base is always present.
no setter
subscriptions Map<ParticipantId, SubscriptionSettings>
The current subscription settings.
no setter
username String?
Returns this CallClient's username.
no setter

Methods

addLiveStreamingEndpoints({required PreconfiguredLiveStreamEndpoints endpoints, StreamId? streamId, bool? forceNew}) Future<void>
Adds additional endpoints to an ongoing live stream.
callConfigFor({required Uri url, String? token}) Future<CallConfig>
Fetches the call configuration for the room at url.
dispose() Future<void>
Tear down and clean up all resources associated with this CallClient.
ejectRemoteParticipants({required List<ParticipantId> ids}) Future<void>
Eject remote participants.
join({required Uri url, ClientSettingsUpdate? clientSettings, String? token}) Future<CallJoinData>
Joins a room, optionally with the settings from the given ClientSettingsUpdate.
leave() Future<void>
Leaves the CallClient's current call, if there is one. Otherwise does nothing.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeLiveStreamingEndpoints({required PreconfiguredLiveStreamEndpoints endpoints, StreamId? streamId}) Future<void>
Updates the settings of an ongoing live stream.
sendAppMessage(String data, ParticipantId? recipient) Future<void>
Sends a custom app message, to be interpreted by recipients at their discretion.
setAudioDevice({required DeviceId deviceId}) Future<void>
////////////////////////////////////////////
setCameraFacingMode({required MediaTrackFacingMode facingMode}) Future<void>
setInputsEnabled({bool? camera, bool? microphone}) Future<void>
setIsPublishing({bool? camera, bool? microphone}) Future<void>
setUsername(String username) Future<void>
Sets this CallClient's username.
startLiveStream({required LiveStreamEndpoints endpoints, StreamingSettings? streamingSettings, StreamId? streamId, bool forceNew = false}) Future<StreamId>
Starts a new live stream.
startRecording({StreamingSettings? streamingSettings, StreamId? streamId, bool? forceNew}) Future<StreamId>
Starts a new recording, if recording is enabled for the current room.
stopLiveStream({StreamId? streamId}) Future<void>
Stops an ongoing live stream.
stopRecording({StreamId? streamId}) Future<void>
Stops the specified recording.
toString() String
A string representation of this object.
inherited
updateInputs({required InputSettingsUpdate inputs}) Future<void>
Enable/disable and/or configure input devices, eg. camera and microphone, for this CallClient.
updateLiveStream({required StreamingSettings streamingSettings, StreamId? streamId}) Future<void>
Removes endpoints from an ongoing live stream.
updatePublishing({required PublishingSettingsUpdate publishing}) Future<void>
Enable/disable publishing and/or configure quality or bandwidth for different media tracks, like the video and audio tracks.
updateRecording({required StreamingSettingsUpdate streamingSettings, StreamId? streamId}) Future<void>
Updates the settings for an ongoing recording.
updateRemoteParticipants({required RemoteParticipantSettingsUpdatesById updates}) Future<void>
Modifies things about remote participants that you can control as a participant admin or meeting owner.
updateSubscriptionProfiles({required Map<SubscriptionProfile, MediaSubscriptionSettingsUpdate> forProfiles}) Future<void>
Configure subscription settings for a given profile.
updateSubscriptions({Map<ParticipantId, SubscriptionSettingsUpdate>? forParticipants, Map<SubscriptionProfile, SubscriptionSettingsUpdate>? forParticipantsWithProfiles}) Future<void>
Subscribe/unsubscribe to, and/or configure subscription settings for remote media tracks.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

create() Future<CallClient>