AVVideoPlayer class
Displays video from an AVPlayerController with optional controls and gestures.
By default, renders just the native Texture. Set showControls to true
to add an animated overlay with play/pause, seek slider, skip buttons, and more.
// Simple — just the video
AVVideoPlayer(controller)
// With built-in controls and gestures
AVVideoPlayer(
controller,
showControls: true,
gestureConfig: const AVGestureConfig(),
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- AVVideoPlayer
Constructors
- AVVideoPlayer(AVPlayerController controller, {Key? key, bool showControls = false, AVControlsConfig? controlsConfig, Widget controlsBuilder(BuildContext context, AVPlayerController controller)?, AVGestureConfig? gestureConfig, String? title, VoidCallback? onFullscreen, VoidCallback? onNext, VoidCallback? onPrevious})
-
const
- AVVideoPlayer.live(AVPlayerController controller, {Key? key, String? title, VoidCallback? onFullscreen, Widget controlsBuilder(BuildContext context, AVPlayerController controller)?, AVControlsConfig? controlsConfig})
-
Live stream preset — no seek bar, no skip, live indicator style.
const
- AVVideoPlayer.music(AVPlayerController controller, {Key? key, String? title, VoidCallback? onNext, VoidCallback? onPrevious, Widget controlsBuilder(BuildContext context, AVPlayerController controller)?, AVControlsConfig? controlsConfig})
-
Music player preset — simple controls, no video gestures.
const
- AVVideoPlayer.short(AVPlayerController controller, {Key? key, String? title, VoidCallback? onNext, VoidCallback? onPrevious, Widget controlsBuilder(BuildContext context, AVPlayerController controller)?})
-
Short-form content preset — minimal controls, auto-loop friendly.
const
- AVVideoPlayer.video(AVPlayerController controller, {Key? key, String? title, VoidCallback? onFullscreen, VoidCallback? onNext, VoidCallback? onPrevious, Widget controlsBuilder(BuildContext context, AVPlayerController controller)?, AVControlsConfig? controlsConfig, AVGestureConfig? gestureConfig})
-
Full video player preset — all controls, gestures, and PIP enabled.
const
Properties
- controller → AVPlayerController
-
The player controller to render.
final
- controlsBuilder → Widget Function(BuildContext context, AVPlayerController controller)?
-
A custom controls builder that replaces the built-in AVControls.
When provided, controlsConfig is ignored.
final
- controlsConfig → AVControlsConfig?
-
Configuration for the built-in controls. Only used when showControls is true.
final
- gestureConfig → AVGestureConfig?
-
Configuration for gesture detection. When non-null, a gesture layer is added.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- onFullscreen → VoidCallback?
-
Called when the fullscreen button is pressed.
final
- onNext → VoidCallback?
-
Called when the next track button is pressed.
final
- onPrevious → VoidCallback?
-
Called when the previous track button is pressed.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- showControls → bool
-
Whether to show the built-in controls overlay. Defaults to
false.final - title → String?
-
Optional title shown in the controls top bar.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< AVVideoPlayer> -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited