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.
Extensions
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