Skip to main content

Flutter APIs

VdoPlayer

PropertyTypeDefault / requiredDescription
embedInfoEmbedInforequiredEmbed info object
onPlayerCreated(controller)Function(VdoController)requiredCallback function returns VdoController object
onFullscreenChange(isFullScreen)Function(bool isFullscreen)OptionalCallback function retuns true if full screen mode.
onError(error)Function(VdoError)OptionalCallback function returns VdoError object
aspectRatiodoubleDefault 16:9Aspect ratio
controlsboolDefault trueEnables player controls, set false to disable player controls

EmbedInfo

PropertyTypeDefault / requiredDescription
otpStringrequireda valid OTP
playbackInfoStringrequiredA valid playbackinfo;
embedInfoOptionsEmbedInfoOptionsnullEmbed Info options
skipDurationDuration10 secondsForward/Backward skip duration
playbackSpeedOptionsList<double>[0.75, 1.0, 1.25, 1.5, 1.75, 2.0]List of playback speed options between 0.25x to 2.25x

EmbedInfoOptions

PropertyTypeDefault / requiredDescription
safetyNetApiKeyStringOptionalA valid SafetyNetApiKey
preferredCaptionsLanguageOptionalStringPreferred caption language
startPositionDurationOptionalVideo start position
endPositionDurationOptionalVideo end position
resumePositionDurationOptionalVdeo resume position
maxVideoBitrateKbpsintOptionalMaximum video bitrate KBPS
bufferingGoalMsintOptionalBuffering goal in MS
techOverrideList<String>OptionalTech override list
disableAnalyticsboolrequired (false)Disable analytics
autoplayboolrequired (true)Start autoplay
forceLowestBitrateboolrequired (false)Force lowest bitrate
forceHighestSupportedBitrateboolrequired (false)Force highest supported Bitrat

VdoController

| Property | Return Type | Description | | ------------------------------------------ | --------------------- | ---------------------------------------------------------------------------------------------------------------------------- | --- | | isPlaying | bool | Video playing | | isBuffering | bool | Video buffering | | isLoading | bool | Video loading | | isEnded | bool | Video fully watched | | isFullScreen | ValueNotifier<bool> | Video is in full screen or portrait mode | | enterFullScreen(bool isFull) | void | Set full screen mode | | load(EmbedInfo embedInfo) | Future<LoadResult> | Load video with embed info | | play() | Future<void> | Play video | | pause() | Future<void> | Pause video | | stop() | Future<void> | Stop video | | getDuration() | Future<Duration> | Get video duration | | getPosition() | Future<Duration> | Get current video played position | | seek(Duration target) | Future<void> | Seek video to target duration | | setPlaybackSpeed(double speed) | Future<void> | Set playback speed | | setSubtitleLanguage(String? language) | Future<bool> | Set Caption Language | | getPlaybackProperty(String propertyName) | Future<Object?> | (Android only) Returns values of additional properties 'totalPlayed' and 'totalCovered' specific to current playback session | | | navigatorObserver(String routePathOrRegex) | void | SwipeLeft event observer for iOS. Use inside MaterialApp(navigatorObservers: []) | | setMute(bool mute) | Future<void> | (Web only) Mutes or unmutes the player based on the values passed | | setVolume(double volume) | Future<void> | (Web only) Sets the volume of the audio/video. Must be a number between 0.0 and 1.0 |

VdoPlayerValue

PropertyReturn TypeDefault / requiredDescription
isLoadingboolrequiredProperties related to the currently loaded video.
mediaInfoMediaInforequiredTotal duration of the video.
durationDurationrequiredThis is [Duration.zero] if the video is not loaded.
positionDurationrequiredThe current playback position.
bufferedPositionDurationrequiredPosition up to where the video is buffered.
skipDurationDurationrequiredSkip Backword/Forward duration
isPlayingboolrequiredTrue if the video is playing, false if paused.;
isBufferingboolrequiredTrue if the video is buffering.;
isEndedboolrequiredTrue if the currently loaded video has played to the end.
playbackSpeeddoublerequiredThe current playback speed.
playbackSpeedOptionsList<double>requiredThe list of available playback speed options.
isAdaptiveboolrequiredTrue if track selection is done in adaptive mode, false if a track has been selected explicitly.
videoTrackVideoTrackOptionalCurrently selected video track.
subtitleTrackSubtitleTrackOptionalCurrently selected subtitle track.
videoTracksList<VideoTrack>OptionalList of all available video tracks.;
subtitleTracksList<SubtitleTrack>OptionalList of all available subtitle tracks.
vdoErrorVdoErrorOptionalIf not null, this gives details about an error encountered while loading the video or during playback.

MediaInfo

PropertyTypeDefault / requiredDescription
mediaIdStringrequiredMedia ID in string
typeenum MediaInfoType {streaming, offline}requiredMedia type
durationDurationrequiredMedia duration
titleStringOptionalMedia title
descriptionStringOptionalMedia description

VideoTrack

PropertyTypeDefault / requiredDescription
idintrequiredA unique identifier for the track in a playback session
bitrateintOptionalBitrate in kbps;
widthintOptionalWidth of the track in px
heightintOptionalHeight of the track in px

SubtitleTrack

PropertyTypeDefault / requiredDescription
idintrequiredA unique identifier for the track in a playback session;
languageStringOptionalLanguage code for the track;

VdoError

PropertyTypeDefault / requiredDescription
codeintrequiredError code
messageStringrequiredError message
httpStatusCodeintOptionalHTTP Status Code