VideoSDK class

VideoSDK Class is a core class of SDK that provides methods to create and configure VideoSDK Room.

Properties

runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Static Properties

e2eeType String?
Indicates the type of end-to-end encryption currently in use.
getter/setter pair
keyProvider BaseKeyProvider?
The active key provider used for end-to-end encryption (E2EE).
getter/setter pair
logLevel LogLevel
no setter
mediaDevices Map<MediaDeviceType, List<MediaDeviceInfo>>
Stores the available media devices grouped by their type.
final

Static Methods

applyVideoProcessor({required String videoProcessorName}) → void
Applies a registered video processor to the video stream.
checkBluetoothPermission() Future<bool>
Checks whether the application has Bluetooth permission.
checkPermissions({Permissions? permissions, SpanScope? parentSpan}) Future<Map<String, bool>>
Checks the permission status for camera and microphone access.
createCameraVideoTrack({String? cameraId, CustomVideoTrackConfig encoderConfig = CustomVideoTrackConfig.h720p_w1280p, FacingMode facingMode = FacingMode.user, bool multiStream = true, BitrateMode bitrateMode = BitrateMode.BALANCED, int maxLayer = 3}) → dynamic
Creates a camera-based video track with customizable capture and encoding configurations.
createMicrophoneAudioTrack({String? microphoneId, CustomAudioTrackConfig encoderConfig = CustomAudioTrackConfig.speech_standard, Map<String, bool> noiseConfig = const {}}) → dynamic
Creates a microphone-based audio track with customizable encoding and noise-cancellation settings.
createRoom({required String roomId, required String displayName, required String token, bool micEnabled = true, bool camEnabled = true, String participantId = '', String maxResolution = 'sd', int defaultCameraIndex = 0, bool multiStream = true, CustomTrack? customCameraVideoTrack, CustomTrack? customMicrophoneAudioTrack, NotificationInfo notification = const NotificationInfo(title: "Video SDK", message: "Video SDK is sharing screen in the meeting", icon: "notification_share"), Mode mode = Mode.SEND_AND_RECV, Map<String, dynamic> metaData = const {}, String signalingBaseUrl = '', PreferredProtocol preferredProtocol = PreferredProtocol.UDP_OVER_TCP, bool debugMode = true, String? translationLanguage, String? speakingLanguage, bool autoConsume = true}) Room
Creates and initializes a new room instance.
getAudioDevices() Future<List<AudioDeviceInfo>?>
Retrieves the list of available audio devices on the system.
getDevices() Future<List<DeviceInfo>?>
Retrieves all available media input and output devices.
getVideoDevices() Future<List<VideoDeviceInfo>?>
Retrieves the list of available video input devices.
off(Events event, Function handler) → dynamic
It is used to stop listening to VideoSDK related events.
on(Events event, Function handler) → dynamic
It is used to listen to VideoSDK related events and perform actions based on those events.
removeVideoProcessor() → void
This method removes a previously applied video processor from the video stream. This allows users to disable specific effects or revert to the original video state. The removeVideoProcessor method will remove the effect of the currently active video processor.
requestBluetoothPermission() Future<bool>
Requests Bluetooth permission from the device.
requestPermissions([Permissions? permissions]) Future<Map<String, bool>>
Prompts the user for permission to access camera and microphone devices.
setKeyProvider(BaseKeyProvider provider) → void
Sets the encryption key provider for end-to-end encryption (E2EE).
setLogLevel([LogLevel? level = LogLevel.info]) → void
Configures the logging level for SDK.