how to create a VAST url preroll for my xcode tvos video player?

42 Views Asked by At

I'm new to Xcode development, I need to make a video player that plays a preroll based on a vast tag url.

I tried looking online everywhere but haven't found anything helpful. Im using Swift & Storyboard.

this is my code now:

import UIKit
import AVKit
import AVFoundation


class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    
    @IBAction func playVideoButton(_ sender: Any) {
        playVideo()
    }
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
    }
    
    private func displayWhatButtonPressed(buttonText: String, xPosition: Int ,yPosition: Int) {
            let label = UILabel(frame: CGRect(x: xPosition, y: yPosition, width: 850, height: 40))
            label.text = buttonText
            view.addSubview(label)
            
            let timer = Timer.scheduledTimer(withTimeInterval: 3, repeats: false) { timer in
                // Hide the label
                label.removeFromSuperview()
            }
        }

    
    private func playVideo() {
        displayWhatButtonPressed(buttonText: "Playing Video",xPosition: 1500, yPosition: 1020)
        guard let path = Bundle.main.path(forResource: "video1920x1080", ofType: "mp4") else {
            debugPrint("not found")
            return
        }

        let player = AVPlayer(url: URL(fileURLWithPath: path))
        let playerController = AVPlayerViewController()
        playerController.player = player
        
        // Set the video player's frame to the desired position and size
        let videoFrame = CGRect(x: 150, y: view.bounds.height/2 - 250 , width: 1080, height: 720)
        playerController.view.frame = videoFrame
        
        addChild(playerController)
        view.addSubview(playerController.view)
        
        player.play()
    }
}
0

There are 0 best solutions below