VideoPlayerController class

Controls a platform video player, and provides updates when the state is changing.

Instances must be initialized with initialize.

The video is displayed in a Flutter app by creating a VideoPlayer widget.

To reclaim the resources used by the player call dispose.

After dispose all further calls are ignored.

Inheritance

Constructors

VideoPlayerController.asset(String dataSource, {String? package, Future<ClosedCaptionFile>? closedCaptionFile, VideoPlayerOptions? videoPlayerOptions})
Constructs a VideoPlayerController playing a video from an asset.
VideoPlayerController.contentUri(Uri contentUri, {Future<ClosedCaptionFile>? closedCaptionFile, VideoPlayerOptions? videoPlayerOptions})
Constructs a VideoPlayerController playing a video from a contentUri.
VideoPlayerController.file(File file, {Future<ClosedCaptionFile>? closedCaptionFile, VideoPlayerOptions? videoPlayerOptions, Map<String, String> httpHeaders = const <String, String>{}})
Constructs a VideoPlayerController playing a video from a file.
VideoPlayerController.network(String dataSource, {VideoFormat? formatHint, Future<ClosedCaptionFile>? closedCaptionFile, VideoPlayerOptions? videoPlayerOptions, Map<String, String> httpHeaders = const <String, String>{}})
Constructs a VideoPlayerController playing a network video.
VideoPlayerController.networkUrl(Uri url, {VideoFormat? formatHint, Future<ClosedCaptionFile>? closedCaptionFile, VideoPlayerOptions? videoPlayerOptions, Map<String, String> httpHeaders = const <String, String>{}})
Constructs a VideoPlayerController playing a network video.

Properties

closedCaptionFile Future<ClosedCaptionFile>?
Returns the file containing closed captions for the video, if any.
no setter
dataSource String
The URI to the video file. This will be in different formats depending on the DataSourceType of the original video.
final
dataSourceType DataSourceType
Describes the type of data source this VideoPlayerController is constructed with.
final
formatHint VideoFormat?
Android only. Will override the platform's generic file format detection with whatever is set here.
final
hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
httpHeaders Map<String, String>
HTTP headers used for the request to the dataSource. Only for VideoPlayerController.network. Always empty for other video types.
final
package String?
Only set for asset videos. The package that the asset was loaded from.
final
position Future<Duration?>
The position in the current video.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
textureId int
This is just exposed for testing. It shouldn't be used by anyone depending on the plugin.
no setter
value VideoPlayerValue
The current value stored in this notifier.
getter/setter pairinherited
videoPlayerOptions VideoPlayerOptions?
Provide additional configuration options (optional). Like setting the audio mode to mix
final

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
dispose() Future<void>
Discards any resources used by the object. After this is called, the object is not in a usable state and should be discarded (calls to addListener will throw after the object is disposed).
override
initialize() Future<void>
Attempts to open the given dataSource and load metadata about the video.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
pause() Future<void>
Pauses the video.
play() Future<void>
Starts playing the video.
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
override
seekTo(Duration position) Future<void>
Sets the video's current timestamp to be at moment. The next time the video is played it will resume from the given moment.
setCaptionOffset(Duration offset) → void
Sets the caption offset.
setClosedCaptionFile(Future<ClosedCaptionFile>? closedCaptionFile) Future<void>
Sets a closed caption file.
setLooping(bool looping) Future<void>
Sets whether or not the video should loop after playing once. See also VideoPlayerValue.isLooping.
setPlaybackSpeed(double speed) Future<void>
Sets the playback speed of this.
setVolume(double volume) Future<void>
Sets the audio volume of this.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

kUninitializedTextureId → const int
The id of a texture that hasn't been initialized.