vimeo_native_player library

Play Vimeo videos natively in Flutter, with no WebView.

Two ways to use this package:

Drop in the player widget.

AspectRatio(
  aspectRatio: 16 / 9,
  child: VimeoNativePlayer(url: 'https://vimeo.com/76979871'),
)

Or resolve the stream and use your own player.

final video = await VimeoResolver().resolve('https://vimeo.com/76979871');
print(video.title);
myPlayer.open(video.bestStream!.url);

Because playback is native rather than an embedded web page, autoplay works with sound, fullscreen is the platform's own, and there is no browser for a viewer to navigate away in.

Classes

VimeoNativePlayer
Plays a Vimeo video with the platform's native video player.
VimeoOwner
The Vimeo account that published a video.
VimeoResolver
Turns a Vimeo link into a VimeoVideo with direct, playable stream URLs.
VimeoStream
One playable source for a video.
VimeoTextTrack
A subtitle or caption track published alongside a video.
VimeoUrl
Parses Vimeo links into VimeoVideoRefs.
VimeoVideo
A fully resolved Vimeo video: everything needed to play it, plus the metadata Vimeo publishes alongside it.
VimeoVideoRef
A parsed reference to a Vimeo video: the numeric id, plus the privacy hash that unlisted videos require.

Enums

VimeoStreamFormat
How a VimeoStream is delivered.
VimeoTextTrackKind
What a VimeoTextTrack carries.

Typedefs

VimeoErrorBuilder = Widget Function(BuildContext context, VimeoException error, VoidCallback retry)
Builds the widget shown when a video cannot be played.
VimeoLoadingBuilder = Widget Function(BuildContext context)
Builds the widget shown while a video is being resolved.

Exceptions / Errors

VimeoException
Base class for every error this package throws.
VimeoInvalidUrlException
The supplied string is not a Vimeo video link.
VimeoNetworkException
Vimeo could not be reached — no connection, DNS failure, or timeout.
VimeoNoStreamException
The video resolved, but Vimeo exposed no stream this package can play.
VimeoNotFoundException
The video does not exist, or has been deleted.
VimeoParseException
Vimeo responded, but not in a shape this package understands.
VimeoRestrictedException
The video exists but cannot be played by this client.