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

标签 ios swift avaudioplayer iphone7plus

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

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

这样做的目的是将视频融合到背景中以产生很酷的效果。除了物理 Plus 型号设备外,它在所有设备上都运行良好。

我最好的猜测是有一些完美的白色差异。有谁知道如何解决或避免这种情况?

最佳答案

我确实遇到了这个问题,我的解决方案是将 AVPlayerLayer 添加到 UIView 容器中,并在 playerLayer 上添加一个带有 1pt inset 的 mask 。

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
}

关于ios - iPhone 7 Plus AVPlayer 周围有边框(白色颜色不匹配),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41559809/

相关文章:

iOS ViewController 层次结构随 Unity 4.6.5 和 Vuforia 4.2 更新而改变

ios - 如何使用 Objective-C 在约束条件下绘图

c# - 使用 c#.net 将立体声作为单声道播放不同 channel 的声音

ios - 锁定时 AVAudioPlayer 在 iPhone 5 中不播放音频

iphone - 在模拟器中无法在iPhone 3GS中正常工作的声音

java - 我可以用 Cordova 编写我的 Android 应用程序,然后用 Java 向它添加更多功能吗?

ios - 从 Swift 4 的文件目录中删除用户选择的文件?

ios - 动画不会在 UITableView 的 backgroundView 上被杀死

swift - 锚定到 InputAccessoryView 的按钮仅在其框架中工作

ios - 应用内购买后检查用户是否付款的最佳方法是什么