Listening to player events

To listen to playback and player related events, you have to make your ViewController implement the FPFlowplayerDelegate protocol and then add the delegates to the FPFlowplayer.

Example

Copy
Copied
class ViewController: UIViewController, FPFlowplayerDelegate {

    let flowplayer: FPFlowplayer!

	override func viewDidLoad() {
		super.viewDidLoad()

        ...

		flowplayer.delegate = self
	}
}

FPFlowplayerDelegate events

All available callback and events that FPFlowplayerDelegate supports are as follows:

Copy
Copied
/**
This callback is called when the player is in a idle state.
- Parameter event: The payload of the event.
- Note: Callback for __FPIdleEvent__.
*/
func onIdle(event: FPIdleEvent)

/**
This callback is called when the player has loaded
the provided media item and is ready to be played.
- Parameter event: The payload of the event.
- Note: Callback for __FPReadyEvent__.
*/
func onReady(event: FPReadyEvent)

/**
This callback is called when the player start / resumes media playback.
- Parameter event: The payload of the event.
- Note: Callback for __FPPlayEvent__.
*/
func onPlay(event: FPPlayEvent)

/**
This callback is called when the player pauses the media playback.
- Parameter event: The payload of the event.
- Note: Callback for __FPPauseEvent__.
*/
func onPause(event: FPPauseEvent)

/**
This callback is called when the player in a buffered state,
indicating that the provided media item is loading or being fetched.
- Parameter event: The payload of the event.
- Note: Callback for __FPBufferEvent__.
*/
func onBuffer(event: FPBufferEvent)

/**
This callback is called when the player has finished
the media playback.
- Parameter event: The payload of the event.
- Note: Callback for __FPCompleteEvent__.
*/
func onComplete(event: FPCompleteEvent)

/**
Called when the player has been muted. This callback can be triggered by the
*mute(_:)* method of __FPFlowplayer__ or by the mute button on the Apple TV remote.
- Parameter event: The payload of the event.
- Note: Callback for __FPMuteEvent__.
*/
func onMute(event: FPMuteEvent)

/**
Called when the player's sound volume changes. This callback can be triggered by
the *setVolume(_:)* method of __FPFlowplayer__ or by the volume buttons on the Apple TV remote.
- Parameter event: The payload of the event.
- Note: Callback for __FPVolumeEvent__.
*/
func onVolume(event: FPVolumeEvent)

/**
Called when the media playback rate / speed changes. This callback can be triggered by
the *setSpeed(_:)* method of __FPFlowplayer__.
- Parameter event: The payload of the event.
- Note: Callback for __FPSpeedEvent__.
*/
func onSpeed(event: FPSpeedEvent)

/**
This callback is called when the audio assets have been fetched
and loaded for the current media item.
- Parameter event: The payload of the event.
- Note: Callback for __FPAudioTracksEvent__.
*/
func onAudioTracksLoaded(event: FPAudioTracksEvent)

/**
Called when the audio for the current media playback has changed.
- Parameter event: The payload of the event.
- Callback for __FPAudioTrackSelectEvent__.
*/
func onAudioTrackSelect(event: FPAudioTrackSelectEvent)

/**
Called when the subtitle of the current media playback has changed.
- Parameter event: The payload of the event.
- Note: Callback for __FPSubtitleTrackSelectEvent__.
*/
func onSubtitleTrackSelect(event: FPSubtitleTrackSelectEvent)

/**
This callback is called when the subtitle assets have been fetched
and loaded for the current media item.
- Parameter event: The payload of the event.
- Note: Callback for __FPSubtitleTracksEvent__.
*/
func onSubtitleTracksLoaded(event: FPSubtitleTracksEvent)

/**
This callback will be only triggered for __FPFlowplayerMedia__ media item.
Will return all `Flowplayer` metadata for the current media item.
- Parameter event: The payload of the event.
- Note: Callback for __FPOvpMetadataEvent__.
*/
func onOvpMetadata(event: FPOvpMetadataEvent)

/**
Triggered when a player or media  error occurs.
- Parameter event: The payload of the event.
- Note: Callback for __FPErrorEvent__.
*/
func onError(event: FPErrorEvent)

/**
Triggered when an ad break started.
- Parameter event: The payload of the event.
- Note: Callback for __FPAdBreakStartEvent__.
*/
func onAdBreakStart(event: FPAdBreakStartEvent)

/**
Triggered when an ad break has completed.
- Parameter event: The payload of the event.
- Note: Callback for__FPAdBreakCompleteEvent__.
*/
func onAdBreakComplete(event: FPAdBreakCompleteEvent)

/**
Triggered when an single ad has started.
- Parameter event: The payload of the event.
- Note: Callback for __FPAdStartEvent__.
*/
func onAdStart(event: FPAdStartEvent)

/**
Triggered when an single ad pauses.
- Parameter event: The payload of the event.
- Note: Callback for __FPAdPauseEvent__.
*/
func onAdPause(event: FPAdPauseEvent)

/**
Triggered when an single ad resumes.
- Parameter event: The payload of the event.
- Note: Callback for __FPAdResumeEvent__.
*/
func onAdResume(event: FPAdResumeEvent)

/**
Triggered when the user clicks on an ad.
- Parameter event: The payload of the event.
- Note: Callback for __FPAdClickEvent__.
*/
func onAdClick(event: FPAdClickEvent)

/**
Triggered when an user skips an ad.
- Parameter event: The payload of the event.
- Note: Callback for __FPAdSkipEvent__.
*/
func onAdSkip(event: FPAdSkipEvent)

/**
Triggered when a single ad has completed.
- Parameter event: The payload of the event.
- Note: Callback for __FPAdCompleteEvent__.
*/
func onAdComplete(event: FPAdCompleteEvent)

/**
Triggered when an error occurs with an ad.
- Parameter event: The payload of the event.
- Note: Callback for __FPAdErrorEvent__.
*/
func onAdError(event: FPAdErrorEvent)