Call class

Represents a Call in which you can connect to.

Constructors

Call({required StreamCallCid callCid, required CoordinatorClient coordinatorClient, required StateEmitter<User?> currentUser, required SetActiveCall setActiveCall, required SetOutgoingCall setOutgoingCall, required GetActiveCall getActiveCall, required GetOutgoingCall getOutgoingCall, RetryPolicy? retryPolicy, SdpPolicy? sdpPolicy, CallPreferences? preferences})
Do not use the factory directly, use the StreamVideo.makeCall method to construct a Call instance.
factory
Call.fromCreated({required CallCreatedData data, required CoordinatorClient coordinatorClient, required StateEmitter<User?> currentUser, required SetActiveCall setActiveCall, required SetOutgoingCall setOutgoingCall, required GetActiveCall getActiveCall, required GetOutgoingCall getOutgoingCall, RetryPolicy? retryPolicy, SdpPolicy? sdpPolicy, CallPreferences? preferences})
Do not use the factory directly, use the StreamVideo.makeCall method to construct a Call instance.
factory
Call.fromRinging({required CallRingingData data, required CoordinatorClient coordinatorClient, required StateEmitter<User?> currentUser, required SetActiveCall setActiveCall, required SetOutgoingCall setOutgoingCall, required GetActiveCall getActiveCall, required GetOutgoingCall getOutgoingCall, RetryPolicy? retryPolicy, SdpPolicy? sdpPolicy, CallPreferences? preferences})
Do not use the factory directly, use the StreamVideo.makeCall method to construct a Call instance.
factory

Properties

callCid StreamCallCid
no setter
callEvents → SharedEmitter<StreamCallEvent>
no setter
connectOptions CallConnectOptions
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
id String
no setter
isActiveCall bool
no setter
onPermissionRequest OnCallPermissionRequest?
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
state → StateEmitter<CallState>
no setter
stats → SharedEmitter<CallStats>
no setter
type StreamCallType
no setter

Methods

accept() Future<Result<None>>
addMembers(List<UserInfo> users) Future<Result<None>>
blockUser(String userId) Future<Result<None>>
end() Future<Result<None>>
flipCamera() Future<Result<None>>
get({int? membersLimit, bool ringing = false, bool notify = false, bool video = false}) Future<Result<CallReceivedData>>
Receives a call information. You can then use the CallReceivedData in order to create a Call object.
getCurrentReactions() List<CallReaction>
getOrCreate({List<String> memberIds = const [], bool ringing = false, bool video = false, String? team, bool? notify, DateTime? startsAt, StreamBackstageSettings? backstage, int? maxDuration, int? maxParticipants, Map<String, Object> custom = const {}}) Future<Result<CallReceivedOrCreatedData>>
Receives a call or creates it with given information. You can then use the CallReceivedOrCreatedData in order to create a Call object.
getTrack(String trackIdPrefix, SfuTrackType trackType) RtcTrack?
getTracks(String trackIdPrefix) List<RtcTrack>
goLive({bool? startHls, bool? startRecording, bool? startTranscription}) Future<Result<CallMetadata>>
Starts the livestreaming of the call.
grantPermissions({required String userId, List<CallPermission> permissions = const []}) Future<Result<None>>
hasPermission(CallPermission permission) bool
Returns true if the current user has the CallPermission supplied.
join({CallConnectOptions? connectOptions}) Future<Result<None>>
joinLobby({CallConnectOptions? connectOptions}) Future<Result<None>>
leave() Future<Result<None>>
listRecordings() Future<Result<List<CallRecording>>>
listTranscriptions() Future<Result<List<CallTranscription>>>
muteAllUsers() Future<Result<None>>
Allows for the muting of all users on a call including the current user calling the function.
muteOthers({TrackType track = TrackType.audio}) Future<Result<None>>
Allows for the muting of all users except current user calling the function.
muteSelf({TrackType track = TrackType.audio}) Future<Result<None>>
Allows for the muting of the current user.
muteUsers({required List<String> userIds, TrackType track = TrackType.audio}) Future<Result<None>>
Allows for the muting of a or group of users as indicated by userIds. By default the function will mute the audio tracks of the user but this can be override by passing a track to the function.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
processStats(CallStats stats) → void
queryMembers({required Map<String, Object> filterConditions, String? next, String? prev, List<SortParamRequest> sorts = const [], int? limit}) Future<Result<QueriedMembers>>
reject({CallRejectReason? reason}) Future<Result<None>>
removeMembers(List<String> userIds) Future<Result<None>>
removeSubscription({required String userId, required String sessionId, required String trackIdPrefix, required SfuTrackTypeVideo trackType, RtcVideoDimension? videoDimension}) Future<Result<None>>
requestPermissions(List<CallPermission> permissions) Future<Result<None>>
requestScreenSharePermission() Future<bool>
resetReaction({required String userId}) → void
revokePermissions({required String userId, List<CallPermission> permissions = const []}) Future<Result<None>>
sendCustomEvent({required String eventType, Map<String, Object> custom = const {}}) Future<Result<None>>
sendReaction({required String reactionType, String? emojiCode, Map<String, Object> custom = const {}}) Future<Result<CallReaction>>
setAudioInputDevice(RtcMediaDevice device) Future<Result<None>>
setAudioOutputDevice(RtcMediaDevice device) Future<Result<None>>
setCameraEnabled({required bool enabled, CameraConstraints? constraints}) Future<Result<None>>
setCameraPosition(CameraPosition cameraPosition) Future<Result<None>>
setLocalTrack(RtcLocalTrack<MediaConstraints> track) Future<Result<None>>
setMicrophoneEnabled({required bool enabled, AudioConstraints? constraints}) Future<Result<None>>
setParticipantPinned({required String sessionId, required String userId, required bool pinned}) Future<Result<None>>
setScreenShareEnabled({required bool enabled, ScreenShareConstraints? constraints}) Future<Result<None>>
setSubscription({required String userId, required String sessionId, required String trackIdPrefix, required Map<SfuTrackTypeVideo, RtcVideoDimension> trackTypes}) Future<Result<None>>
setSubscriptions(List<SubscriptionChange> changes) Future<Result<None>>
setVideoInputDevice(RtcMediaDevice device) Future<Result<None>>
startHLS() Future<Result<String?>>
Starts the broadcasting of the call.
startRecording({String? recordingExternalStorage}) Future<Result<None>>
startTranscription() Future<Result<None>>
stopHLS() Future<Result<None>>
Stops the broadcasting of the call.
stopLive() Future<Result<CallMetadata>>
Stops the livestreaming of the call.
stopRecording() Future<Result<None>>
stopTranscription() Future<Result<None>>
takeScreenshot(CallParticipantState participant, {SfuTrackType? trackType}) Future<ByteBuffer?>
toString() String
A string representation of this object.
override
unblockUser(String userId) Future<Result<None>>
update({Map<String, Object>? custom, StreamRingSettings? ring, StreamAudioSettings? audio, StreamVideoSettings? video, StreamScreenShareSettings? screenShare, StreamRecordingSettings? recording, StreamTranscriptionSettings? transcription, StreamBackstageSettings? backstage, StreamGeofencingSettings? geofencing}) Future<Result<CallMetadata>>
updateCallMembers({List<UserInfo> updateMembers = const [], List<String> removeIds = const []}) Future<Result<None>>
updateSubscription({required String userId, required String sessionId, required String trackIdPrefix, required SfuTrackTypeVideo trackType, RtcVideoDimension? videoDimension}) Future<Result<None>>
updateViewportVisibility({required String sessionId, required String userId, required ViewportVisibility visibility}) Future<Result<None>>

Operators

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