Flutter APIs
VdoPlayer
Property | Type | Default / required | Description |
---|---|---|---|
embedInfo | EmbedInfo | required | Embed info object |
onPlayerCreated(controller) | Function(VdoController) | required | Callback function returns VdoController object |
onFullscreenChange(isFullScreen) | Function(bool isFullscreen) | Optional | Callback function retuns true if full screen mode. |
onError(error) | Function(VdoError) | Optional | Callback function returns VdoError object |
aspectRatio | double | Default 16:9 | Aspect ratio |
controls | bool | Default true | Enables player controls, set false to disable player controls |
EmbedInfo
Property | Type | Default / required | Description |
---|---|---|---|
otp | String | required | a valid OTP |
playbackInfo | String | required | A valid playbackinfo; |
embedInfoOptions | EmbedInfoOptions | null | Embed Info options |
skipDuration | Duration | 10 seconds | Forward/Backward skip duration |
playbackSpeedOptions | List<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
Property | Type | Default / required | Description |
---|---|---|---|
safetyNetApiKey | String | Optional | A valid SafetyNetApiKey |
preferredCaptionsLanguage | Optional | String | Preferred caption language |
startPosition | Duration | Optional | Video start position |
endPosition | Duration | Optional | Video end position |
resumePosition | Duration | Optional | Vdeo resume position |
maxVideoBitrateKbps | int | Optional | Maximum video bitrate KBPS |
bufferingGoalMs | int | Optional | Buffering goal in MS |
techOverride | List<String> | Optional | Tech override list |
disableAnalytics | bool | required (false) | Disable analytics |
autoplay | bool | required (true) | Start autoplay |
forceLowestBitrate | bool | required (false) | Force lowest bitrate |
forceHighestSupportedBitrate | bool | required (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
Property | Return Type | Default / required | Description |
---|---|---|---|
isLoading | bool | required | Properties related to the currently loaded video. |
mediaInfo | MediaInfo | required | Total duration of the video. |
duration | Duration | required | This is [Duration.zero] if the video is not loaded. |
position | Duration | required | The current playback position. |
bufferedPosition | Duration | required | Position up to where the video is buffered. |
skipDuration | Duration | required | Skip Backword/Forward duration |
isPlaying | bool | required | True if the video is playing, false if paused.; |
isBuffering | bool | required | True if the video is buffering.; |
isEnded | bool | required | True if the currently loaded video has played to the end. |
playbackSpeed | double | required | The current playback speed. |
playbackSpeedOptions | List<double> | required | The list of available playback speed options. |
isAdaptive | bool | required | True if track selection is done in adaptive mode, false if a track has been selected explicitly. |
videoTrack | VideoTrack | Optional | Currently selected video track. |
subtitleTrack | SubtitleTrack | Optional | Currently selected subtitle track. |
videoTracks | List<VideoTrack> | Optional | List of all available video tracks.; |
subtitleTracks | List<SubtitleTrack> | Optional | List of all available subtitle tracks. |
vdoError | VdoError | Optional | If not null, this gives details about an error encountered while loading the video or during playback. |
MediaInfo
Property | Type | Default / required | Description |
---|---|---|---|
mediaId | String | required | Media ID in string |
type | enum MediaInfoType {streaming, offline} | required | Media type |
duration | Duration | required | Media duration |
title | String | Optional | Media title |
description | String | Optional | Media description |
VideoTrack
Property | Type | Default / required | Description |
---|---|---|---|
id | int | required | A unique identifier for the track in a playback session |
bitrate | int | Optional | Bitrate in kbps; |
width | int | Optional | Width of the track in px |
height | int | Optional | Height of the track in px |
SubtitleTrack
Property | Type | Default / required | Description |
---|---|---|---|
id | int | required | A unique identifier for the track in a playback session; |
language | String | Optional | Language code for the track; |
VdoError
Property | Type | Default / required | Description |
---|---|---|---|
code | int | required | Error code |
message | String | required | Error message |
httpStatusCode | int | Optional | HTTP Status Code |