菜鸟教程小白 发表于 2022-12-11 18:32:28

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


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

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

<p>这样做的目的是将视频混合到背景中以创建很酷的效果。它在除物理 Plus 型号设备之外的所有设备上都运行良好。 </p>

<p>我最好的猜测是有一些完美的白色差异。有谁知道如何解决这个问题或避免这个? </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我遇到了这个确切的问题,我的解决方案是在 <code>UIView</code> 容器中添加 <code>AVPlayerLayer</code>,并在 playerLayer 上添加一个带有 1pt inset 的 mask 。</p>

<pre><code>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
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - iPhone 7 Plus AVPlayer 周围有边框(白色颜色不匹配),我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/41559809/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/41559809/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - iPhone 7 Plus AVPlayer 周围有边框(白色颜色不匹配)