Search packages, repositories and app categories

smooth_video_progress cover
Package detailsv0.0.4

smooth_video_progress

An interpolated progress builder for video_player controllers

AndroidiOSWebmacOS
30-day downloads
4.2K
Likes
39
Pub points
140

Install package

flutter pub add smooth_video_progress

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter package that provides an interpolated progress builder for video_player controllers, enabling smooth and visually appealing progress updates in video playback interfaces. It enhances the user experience by offering fluid transitions between progress states, ideal for custom video player UIs. The package integrates seamlessly with the standard video_player plugin and supports multiple platforms including Android, iOS, Web, and macOS. Designed for developers seeking refined control over progress indicators without complex manual animation handling.

Use cases

  • Custom video player UIs
  • Smooth progress bar animations
  • Enhanced video playback feedback
  • Cross-platform video apps
  • Real-time progress visualization

Key features

  • Interpolated progress updates
  • Seamless integration with video_player
  • Platform-agnostic support
  • Minimal setup required
  • High-performance rendering

Suitable for

  • UI-focused video applications
  • Developers wanting smooth animations
  • Apps requiring precise progress control
  • Cross-platform video projects
  • Designers implementing polished media players

Considerations

  • Requires video_player dependency
  • Limited to progress display only
  • No built-in controls
  • Best used with custom player UIs
  • May require additional styling for full customization

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Have you been here before: you created a video player using video_player, but the progress bar updates way to infrequently and makes your UX look choppy?

Look no further than this package. It will make your video progress bars look smooooth ✨

Demo GIF

Since this is a GIF, the framerate is reduced, but rest assured that the bottom slider animates at the same framerate as your app.

Features

  • Build a smoothly interpolated progress bar for video_player's VideoPlayerController instances.
  • Completely unopinianeted, build whatever you want design-wise
  • Use it for progress bars, spinners, more accurate time displays, ...

Getting started

Install the package. This package depends on flutter_hooks, because I use it for everything anyway, check out the package if you don't know it, it makes life so much easier.

Usage

Here is how you would build a simple slider for example:

Widget build(BuildContext context) {
  SmoothVideoProgress(
    controller: controller,
    builder: (context, position, duration, child) => Slider(
      onChangeStart: (_) => controller.pause(),
      onChangeEnd: (_) => controller.play(),
      onChanged: (value) =>
          controller.seekTo(Duration(milliseconds: value.toInt())),
      value: position.inMilliseconds.toDouble(),
      min: 0,
      max: duration.inMilliseconds.toDouble(),
    ),
  );
}

Example Project

To take a look at the example (seen on the GIF above)

  1. Open example folder
  2. Run flutter create .
  3. flutter run on the iOS, android or web
  4. You might have to do additional setup steps for video_player to work, check their documentation for details

Categories

Dependencies

Dependency list 2 items

Source repository

Projects using this package