baxcloud_client library

BaxCloud Flutter SDK

A comprehensive SDK for Live Streaming, Calls, and Signaling. Provides UI kits to speed up implementation.

Classes

AudioCaptureOptions
Options used when creating a LocalAudioTrack.
AudioPublishOptions
Options used when publishing audio.
BaxcloudAvatarWidget
Avatar widget with optional audio wave visualization Shows animated waves around the avatar when audio is active and video is disabled
BaxcloudCallsController
Controller for managing call state and operations Supports 1-to-1 and group video/voice calls
BaxcloudChatView
BaxCloudClient
Main BaxCloud SDK client Handles initialization and connection management
BaxcloudCoHostAudienceEvents
Co-host events for audience role
BaxcloudCoHostEvents
Co-host events
BaxcloudCoHostHostEvents
Co-host events for host role
BaxcloudCoHostInvitationController
Controller for managing co-host invitations and requests Handles sending, receiving, accepting, and declining co-host invitations/requests
BaxCloudConfig
Configuration class for BaxCloud SDK Professional SDK - server URL is managed by the SDK (defaults to live.baxcloud.com)
BaxcloudDraggableParticipantsOverlay
Widget that displays draggable participant windows (local + co-hosts/publishers) Automatically handles filtering, positioning, and lifecycle management
BaxcloudDraggableParticipantWindow
Widget that displays a draggable participant video window with corner snapping
BaxcloudGroupVideoCallView
Group Video Call UI Kit widget
BaxcloudGroupVoiceCallView
Group Voice Call UI Kit widget
BaxcloudLiveChatWidget
Live chat widget for live streaming Displays messages in a vertical list with animations, similar to popular live streaming platforms
BaxcloudLiveStatsWidget
Live stats display widget
BaxcloudLiveStreamingController
Controller for managing live streaming state and operations
BaxcloudLiveStreamingSeatsController
Controller for managing live streaming with seats and co-hosts Supports multi-seat video/voice streaming and co-host management
BaxcloudLiveStreamingView
Main Live Streaming UI Kit widget Provides a complete UI for live streaming with controls
BaxcloudMessageHandler
Message handler for displaying messages in the SDK Allows customization and disabling of ScaffoldMessenger messages
BaxcloudMessageInput
BaxcloudMultiVideoLiveStreamingView
Multi Video Live Streaming UI Kit widget Supports multiple seats with video streaming
BaxcloudMultiVoiceLiveStreamingView
Multi Voice Live Streaming UI Kit widget Supports multiple seats with voice-only streaming
BaxcloudParticipantsListWidget
Widget to display viewers and publishers lists with actions
BaxcloudPKBattleView
PK Battle View - Split-screen battle interface
BaxcloudPKController
Controller for managing PK (Player Kill) battle state and operations
BaxcloudPKInvitationController
Controller for managing PK invitations Handles sending, receiving, accepting, and declining PK battle invitations
BaxcloudPKInvitationWidget
Widget to display PK battle invitations Shows invitation dialog when an invitation is received
BaxCloudQuickStart
Quick start utilities for easy integration Professional SDK - server URL is managed automatically
BaxCloudSDKConfig
SDK configuration constants Professional SDK - server URL is managed by the SDK
BaxcloudSignalingController
BaxCloudTheme
Theme configuration for BaxCloud UI components Provides extensive customization options for all UI elements
BaxCloudThemeProvider
Theme provider widget for easy theme access throughout the widget tree
BaxcloudUIKITUser
User representation for BaxCloud UI Kit Similar to ZegoUIKitUser, provides a unified interface for user information
BaxcloudVideoCallView
1-to-1 Video Call UI Kit widget
BaxcloudVideoView
Widget to display a video track
BaxcloudViewersCounterWidget
Widget to display viewers counter with optional management Can be used standalone or integrated into live streaming views
BaxcloudVoiceCallView
1-to-1 Voice Call UI Kit widget
BaxcloudVoiceLiveStreamingView
Voice Live Streaming UI Kit widget Audio-only live streaming
ChatMessage
CoHostInvitation
Co-host request/invitation model
ConnectOptions
Options used when connecting to the server.
CustomAvatar
Customizable avatar widget
CustomControlButton
Customizable control button widget
CustomParticipantTile
Customizable participant tile widget
DataReceivedEvent
Data received from RemoteParticipant. Data packets provides the ability to use LiveKit to send/receive arbitrary payloads. Emitted by Room and RemoteParticipant.
DraggableParticipantWindowConfig
Configuration for draggable participant windows
LayoutConfig
Layout configuration
LiveStats
Live streaming statistics
LiveStatsMonitor
Live stats monitor
LocalAudioTrack
LocalParticipant
Represents the current participant in the room. Instance of LocalParticipant is automatically created after successfully connecting to a Room and will be accessible from Room.localParticipant.
LocalTrackPublication<T extends LocalTrack>
A TrackPublication which belongs to the LocalParticipant.
LocalVideoTrack
A video track from the local device. Use static methods in this class to create video tracks.
NetworkQuality
Network quality information
NetworkQualityIndicator
Network quality indicator widget
NetworkQualityMonitor
Network quality monitor
Participant<T extends TrackPublication<Track>>
Represents a Participant in the room, notifies changes via delegates as well as ChangeNotifier/providers. A change notification is triggered when
ParticipantPermissions
ParticipantTrackPermission
PKBattle
PK Battle information
PKInvitation
PK Invitation model
PKParticipant
PK Participant information
PublishOptions
RemoteAudioTrack
RemoteParticipant
Represents other participant in the Room.
RemoteTrackPublication<T extends RemoteTrack>
Represents a track publication from a RemoteParticipant. Provides methods to control if we should subscribe to the track, and its quality (for video).
RemoteVideoTrack
Room
Room is the primary construct for LiveKit conferences. It contains a group of Participants, each publishing and subscribing to Tracks. Notifies changes to its state via two ways, by assigning a delegate, or using it as a provider. Room will trigger a change notification update when
RoomOptions
Options used to modify the behavior of the Room.
ScreenSharingController
Screen sharing controller and utilities
SeatInfo
Seat information
ServerClient
Server client for fetching configuration and tokens from the server
Track
Wrapper around a MediaStreamTrack with additional metadata. Base for AudioTrack and VideoTrack, can not be instantiated directly.
TrackPublication<T extends Track>
Represents a track that's published to the server. This class contains metadata associated with tracks.
VideoCaptureOptions
Base class for options when creating a LocalVideoTrack.
VideoDimensions
A simple class that represents dimensions of video.
VideoPublishOptions
Options used when publishing video.
WidgetBuilders
Container class for widget builder type references

Enums

BaxcloudMessageType
Message type for styling
CallType
Call type enum
CoHostInvitationState
Co-host invitation state
LayoutMode
Layout modes for video calls
MessageType
NetworkQualityLevel
Network quality level
PKInvitationState
PK Invitation state
PKState
PK Battle state
StreamingMode
Streaming mode enum

Mixins

AudioTrack
Used to group LocalAudioTrack and RemoteAudioTrack.
ParticipantEvent
Base type for all Participant events.
RoomEvent
Base type for all Room events.
TrackEvent
Base type for all Track events.
VideoTrack
Used to group LocalVideoTrack and RemoteVideoTrack.

Typedefs

AvatarBuilder = Widget Function({String? avatarUrl, required String name, double? size})
Builder for avatars
BackgroundBuilder = Widget Function({String? avatarUrl, required BuildContext context, String? coverUrl, required bool isHost})
Builder for background widget
BaxcloudAudioCaptureOptions = AudioCaptureOptions
Audio capture options Alias for livekit.AudioCaptureOptions
BaxcloudAudioPublishOptions = AudioPublishOptions
Audio publish options Alias for livekit.AudioPublishOptions
BaxcloudCameraPosition = CameraPosition
Camera position (front or back) Alias for livekit.CameraPosition
BaxcloudChatMessageBuilder = Widget Function(BuildContext context, ChatMessage message)
Widget builder for customizing live chat message appearance
BaxcloudConnectionQuality = ConnectionQuality
Connection quality indicator Alias for livekit.ConnectionQuality
BaxcloudConnectionState = ConnectionState
Connection state for room connections Alias for livekit.ConnectionState to avoid conflict with Flutter's ConnectionState
BaxcloudConnectOptions = ConnectOptions
Connect options Alias for livekit.ConnectOptions
BaxcloudDisconnectReason = DisconnectReason
Disconnect reason when room disconnects Alias for livekit.DisconnectReason
BaxCloudErrorWidgetBuilder = Widget Function({required Object error, required VoidCallback onRetry})
Builder for error widget
BaxcloudParticipantKind = ParticipantKind
Participant kind (publisher or subscriber) Alias for livekit.ParticipantKind
BaxcloudParticipantPermissions = ParticipantPermissions
Participant permissions Alias for livekit.ParticipantPermissions
BaxcloudParticipantState = ParticipantState
Participant state Alias for livekit.ParticipantState
BaxcloudParticipantTrackPermission = ParticipantTrackPermission
Participant track permission Alias for livekit.ParticipantTrackPermission
BaxcloudPublishOptions = PublishOptions
Publish options Alias for livekit.PublishOptions
BaxcloudRoomOptions = RoomOptions
Room options for connection Alias for livekit.RoomOptions
BaxcloudTrackSource = TrackSource
Track source (camera, microphone, screen, etc.) Alias for livekit.TrackSource
BaxcloudVideoCaptureOptions = VideoCaptureOptions
Video capture options Alias for livekit.VideoCaptureOptions
BaxcloudVideoDimensions = VideoDimensions
Video dimensions Alias for livekit.VideoDimensions
BaxcloudVideoEncoding = VideoEncoding
Video encoding settings Alias for livekit.VideoEncoding
BaxcloudVideoPublishOptions = VideoPublishOptions
Video publish options Alias for livekit.VideoPublishOptions
BaxcloudVideoQuality = VideoQuality
Video quality settings Alias for livekit.VideoQuality
ControlButtonBuilder = Widget Function({Color? color, required IconData icon, required bool isEnabled, required VoidCallback onPressed, String? tooltip})
Widget builder types for customizing UI components Builder for control buttons
ControlsOverlayBuilder = Widget Function({required dynamic controller, required VoidCallback onDisconnect})
Builder for controls overlay
ForegroundBuilder = Widget Function({required BoxConstraints constraints, required BuildContext context, required dynamic controller})
Builder for foreground overlay widget
HostControlsBuilder = Widget Function({required bool isCoHost, required bool isHost, VoidCallback? onAddCoHost, VoidCallback? onManageSeats, VoidCallback? onRemoveCoHost})
Builder for host controls
LayoutModeSelectorBuilder = Widget Function({required String currentMode, required dynamic onModeChanged(String)})
Builder for layout mode selector
LiveIndicatorBuilder = Widget Function()
Builder for live indicator
LoadingWidgetBuilder = Widget Function()
Builder for loading widget
MainVideoAreaBuilder = Widget Function({required bool isGroupCall, required VideoTrack? localTrack, required List<RemoteParticipant> remoteParticipants})
Builder for main video area
ParticipantInfoBuilder = Widget Function({int? maxParticipants, required int participantCount})
Builder for participant info widget
ParticipantTileBuilder = Widget Function({String? avatarUrl, bool isCoHost, bool isHost, required bool isLocal, bool isMuted, required String name, required VideoTrack? track})
Builder for participant tiles
RemoteParticipantsBuilder = Widget Function({required List<RemoteParticipant> participants})
Builder for remote participants view
SeatsGridBuilder = Widget Function({required List participants, required Map<String, dynamic> seats})
Builder for seats grid
ViewersCounterBuilder = Widget Function(BuildContext context, int totalViewers, int totalPublishers, int totalParticipants, bool canManage, VoidCallback onTap)
Builder for viewers counter widget
WaitingViewBuilder = Widget Function({String? avatarUrl, String? username})
Builder for waiting view