iPhone 7 Plus AVPlayer 周围有边框(白色颜色不匹配)

Uno*_*ome 5 avaudioplayer ios swift iphone7plus

我在 iPhone 7 Plus 和 iPhone 6 Plus 上发现了奇怪的行为。这不会发生在模拟器上,只会发生在物理设备上。

如果您有一个 AVPlayer(视频具有白色背景)并且它所附加的视图具有白色背景(音频播放器小于父视图),AVPlayer 周围将出现边框。

这样做的目的是将视频融合到背景中以创建很酷的效果。它在除物理 Plus 型号设备之外的所有设备上都能正常工作。

我最好的猜测是存在一些完美的白差。有谁知道如何解决这个问题或避免这个问题?

hel*_*imi 3

我遇到了这个确切的问题,我的解决方案是添加AVPlayerLayer一个UIView容器内部,并在playerLayer上添加一个带有1pt插图的遮罩。

override func layoutSubview() {
    super.layoutSubviews()

    // .. sets frame to players source size

    let maskLayer = playerLayer.mask ?? CALayer()
    maskLayer.frame = playerLayer.bounds.insetBy(dx: 1, dy: 1)
    maskLayer.backgroundColor = UIColor.white.cgColor
    playerLayer.mask = maskLayer
}
Run Code Online (Sandbox Code Playgroud)