Jimmy J
Jimmy J

Reputation: 21

Changing AVPlayerView background color

Is it possible to change the background color of a AVPlayerView when used in a macOS application. I want to do this to remove the black bars when playing a video.

I've tried the following:

videoView.contentOverlayView?.wantsLayer = true
videoView.contentOverlayView?.layer?.backgroundColor  = NSColor.blue.cgColor

also tried adding these:

view.wantsLayer = true
videoView.wantsLayer = true

but the background is still black.

Upvotes: 1

Views: 1474

Answers (2)

Volodymyr Dudchak
Volodymyr Dudchak

Reputation: 55

AVPlayerView does not have layer after the initialization or setting wantsLayer property, but creates it later at some point. I was able to change the background with the next code in my AVPlayerView subclass:

override var layer: CALayer? {
    get { super.layer }
    set {
        newValue?.backgroundColor = CGColor.clear
        super.layer = newValue
    }
}

Upvotes: 1

AD Progress
AD Progress

Reputation: 5086

videoView.contentOverlayView?.layer?.setNeedsDisplay()

try this maybe you just need to update the view. However if you would post more of your code I could try to help more.

Upvotes: 0

Related Questions