-1

I'm trying to get a video I have in my project to play in my macOS application using swift. Here is my code:

import Cocoa
import AVKit
import AVFoundation

class ViewController: NSViewController {
    var player : AVPlayer!
    var avPlayerLayer : AVPlayerLayer!

    @IBOutlet weak var videoPlayer: AVPlayerView!

    override func viewDidLoad() {
        super.viewDidLoad()

        guard let path = Bundle.main.path(forResource: "Background", ofType:"mp4") else {
            debugPrint("Not found")
            return
        }

        let playerURL = AVPlayer(url: URL(fileURLWithPath: path))
        let playerView = AVPlayerView()
        playerView.player = playerURL
        playerView.player?.play()
    }
}

I also have an AVPlayerView in my storyboard that I have connected to my viewcontroller.

It builds and runs fine but when I run it nothing shows up. I just get a black screen.

Any help is appreciated. Thanks!

Eric Walier
  • 331
  • 2
  • 18

1 Answers1

2

The problem is this line:

let playerView = AVPlayerView()

Instead of configuring the player view that is in your interface, you make a whole new separate player view — and then you throw it away.

matt
  • 515,959
  • 87
  • 875
  • 1,141