Listening to player events

You can listen to various playback and player related events directly with the API.

Obtain API handle

To use the API, you need to have a handle to the FlowplayerView that implements the Flowplayer interface.

Refer to the player initialization documentation on how to create a player instance.

Create event listener

To make your player listen to playback/player events, you need to create a class that will implement the EventListener interface of the respective event. Then you create an instance of this class and pass it to the player:

Copy
Copied
flowplayerView.addEventListener(new MyEventListener())

Available events and their listener interfaces:

  • AdBreakCompleteEvent - OnAdBreakCompleteListener
  • AdBreakStartEvent - OnAdBreakStartListener
  • AdClickEvent - OnAdClickListener
  • AdCompleteEvent - OnAdCompleteListener
  • AdErrorEvent - OnAdErrorListener
  • AdPauseEvent - OnAdPauseListener
  • AdResumeEvent - OnAdResumeListener
  • AdSkipEvent - OnAdSkipListener
  • AdStartEvent - OnAdStartListener
  • BufferEvent - OnBufferListener
  • CompletEvent - OnCompleteListener
  • ErrorEvent - OnErrorListener
  • FullscreenEvent - OnFullscreenListener
  • IdleEvent - OnIdleListener
  • MuteEvent - OnMuteListener
  • PauseEvent - OnPauseListener
  • PlayEvent - OnPlayListener
  • SpeedEvent - OnSpeedListener
  • VolumeEvent - OnVolumeListener

Refer to the API documentation for a full reference.

Example: looping player

In this example we are inheriting our Activity from FlowplayerFragment. The activity will then listen to the OnCompleteEvent and seek the player back to the beginning of the video and resume playback.

Copy
Copied
class MyActivity : FlowplayerFragment, OnCompleteListener {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // Obtain playerFragment (from XML or programmatically)
        // Check the "Creating player instance documentation" for more information
        getPlayerFragment().getPlayer().addEventListener(this)
    }

    override fun onComplete(event: CompleteEvent) {
        // We want to listen to the complete event and seek to beginning to loop the content
        val player = getPlayerFragment().getPlayer()
        player.seek(0) // Seek to beginning
        player.play() // Resume playback
    }
}