Skip to main content

Implement an Interface for Passing Video Player

For linear channels or VOD, you must pass information about the video player used for content playback to the SDK. Supported players:

EnvironmentPlayer
iOSAVQueuePlayer
VLCMediaListPlayer (MobileVLCKit@3)

If the player that you are using is supported by the SDK, you can return the player by implementing the MediaPlayerHook interface that is provided by the SDK.

MediaPlayerHook Interface Description

FunctionDescription
getPlayer()Returns the player object that plays the main content.

Examples of MediaPlayerHook Implementation

SwiftUI

// TODO GUIDE: implement MediaPlayerHook
class MediaPlayerHookImpl: MediaPlayerHook {
public var getPlayerFn: () -> Any
public init(getPlayerFn: @escaping () -> Any) {
self.getPlayerFn = getPlayerFn
}
public func getPlayer() -> Any? {
getPlayerFn()
}
}
struct PlaybackView: View {
var player: AVQueuePlayer
func playLinearTv() {
let mediaPlayerHook = MediaPlayerHookImpl {
return player
}
...
}
}

UIKit

// TODO GUIDE: implement MediaPlayerHook
class MediaPlayerHookImpl: MediaPlayerHook {
public var getPlayerFn: () -> Any
public init(getPlayerFn: @escaping () -> Any) {
self.getPlayerFn = getPlayerFn
}
public func getPlayer() -> Any? {
getPlayerFn()
}
}

class PlaybackViewController: UIViewController {
var player: AVQueuePlayer!

override func viewDidLoad() {
super.viewDidLoad()

player = AVQueuePlayer()
}

func playLinearTv() {
let mediaPlayerHook = MediaPlayerHookImpl {
return self.player
}
}
}

If the SDK doesn't support your video player, Contact Helpdesk.