Akash
Akash

Reputation: 117

Cant get video progress time in Flutter better player

I am building a video player app in flutter with better video player. All things are working fine with better player except that i cant get the video player progress(time of how much the video has been played) in better player and i also want to get the total time of the video too. Does anyone has any idea of how to get the video progress with it.. it will be helpfull with an example.

Upvotes: 1

Views: 2086

Answers (3)

ngene michael. o
ngene michael. o

Reputation: 1

Duration myProgress;

_betterPlayerController.addEventsListener((event) => {
  if (event.betterPlayerEventType == BetterPlayerEventType.progress) {
    myProgress = event.parameters['progress']
  },
}

Upvotes: 0

Vadym Lytvynets
Vadym Lytvynets

Reputation: 11

You can set the listener in BetterPlayerConfiguration, than you can get video duration and progress using event.parameters. Please, see the example below:

 BetterPlayerConfiguration get _betterPlayerConfiguration => BetterPlayerConfiguration(
   eventListener: _onPlayerEvent,
 );

 void _onPlayerEvent(BetterPlayerEvent event) {
    if (_checkIfCanProcessPlayerEvent(event)) {
      Duration progress = event.parameters!['progress'];
      Duration duration = event.parameters!['duration'];
    }
  }

  bool _checkIfCanProcessPlayerEvent(BetterPlayerEvent event) {
    return
      event.betterPlayerEventType == BetterPlayerEventType.progress &&
      event.parameters != null &&
      event.parameters!['progress'] != null &&
      event.parameters!['duration'] != null;
  }

Upvotes: 1

Mohamed draz
Mohamed draz

Reputation: 29

you can get control of all events in better player after you create betterplayercontroller like this

_betterPlayerController!.addEventsListener((event) {
  if (event.betterPlayerEventType == BetterPlayerEventType.finished) {
    LessonRepo.completeVideo(lessonID: lessonID);
  }
});

Upvotes: 0

Related Questions