V3 Player - How to show video player overlay?

Posting question on behalf of our team evaluating v3 of Player:

We’ve reviewed the documentation and sample code, we have issues showing the overlay with controls (play/pause, fullscreen button etc) in the v3 player. We can play video but can’t control video as overlay does not show. Details below and attached screen capture of app - how can we enable the overlay?


Downloaded latest version from https://github.com/kaltura/playkit-ios.

I use this code:
let url = “https://cdnapisec.kaltura.com/p/(partnerId)/playManifest/entryId/(self.video!.id!)/format/applehttp/protocol/https/a/a.m3u8

                let hls : [String:Any] = [
                    "id": "src2",
                    "url": url ]
                
                let entry : [String:Any] = [
                    "id": "ent1",
                    "sources": [hls] ]
                
                let mediaEntry = MediaEntry(json: entry)
                
                let mediaConfig = MediaConfig.init(mediaEntry: mediaEntry)
                
                let pluginConfig = PluginConfig.init(config: [:])
                
                if( self.player == nil ) {
                    self.player = PlayKitManager.shared.loadPlayer(pluginConfig: pluginConfig)
                }
                self.player.prepare(mediaConfig)
                
                self.player.view.frame = self.videoContainerView.bounds
                self.videoContainerView.addSubview(player.view)
                self.player.view.autoresizingMask = [.flexibleHeight, .flexibleWidth]
                self.player.play()

Hey @erich2888,

I don’t see on your code any controls layer.
Just prepare some UIView that contains controls like play button and put it on the top of player’s view on the same container that contains player view.

The viewDidLoad method is too early to set your view’s frame because something else is changing the frame later.
The best practice it doing it under viewDidLayoutSubviews

- (void)viewDidLayoutSubviews {
    [superviewWillLayoutSubviews];
    self.kPlayer.view.frame = self.playerContainer.bounds;
    [self.playerContaineraddSubview:self.kPlayer.view];
}

Let me know if you need more help.

Thanks!

cc @oren_melamed

Hi, to confirm, does this mean currently there’s no tool bar controller (pre-built usually at footer that can pause/pay and show play progress of video) - see attached (example of iOS native player):

  1. would we need to custom create that ourselves?
  2. if yes to (1), does Kaltura have plans to support this in future?
  3. related to this, will v3 support Kaltura KMC Universal Studio (ability to design the player experience - including overlay)?

Hi @erich2888,yes, you are free to add the custom UI as suited for your needs.
Currently the studio doesn’t support customizing SDK player look and feel.