AVPlayerViewController 周围奇怪的边框

Max*_*bin 3 xcode ios avplayer swift

我正在为我的应用程序设计登录屏幕,我想在其中设置动画徽标。我创建了小视频文件(大约 1 Mb)并AVPlayerViewController使用以下代码创建了实例:

let videoURL = URL(fileURLWithPath: Bundle.main.path(forResource: "logo_cc", ofType: "mp4")!)
let player = AVPlayerViewController()
player.player = AVPlayer(url: videoURL)
player.videoGravity = AVLayerVideoGravity.resizeAspectFill.rawValue
player.view.frame = playerView.bounds
playerView.addSubview(player.view)
player.player!.play()
Run Code Online (Sandbox Code Playgroud)

其中playerView是一个实际的UIView,创建于StoryBoard,必须保存视频。

因此,一切正常,视频正在播放等等,但我唯一的问题是视频周围的那些小边框(只能在实际设备上看到,但是当我在我的设备上使用 QuickTime 进行屏幕截图或屏幕镜像时Mac,那些边界消失了)。

这是演示:https : //imgur.com/a/zarVwac 正如您所见,这些边框只能在实际设备上看到(左侧的屏幕截图也是从该设备上截取的,但没有边框)。

有想法该怎么解决这个吗?

Max*_*bin 8

在多个设备(实际物理设备,而不是模拟器)上测试此代码后,此错误似乎只发生在 Plus 设备上(我在 iOS 11 上的 i8、iOS 11 上的 i8+、iOS 11 上的 iX 和 iOS 10 上的 i6+ 上进行了测试) .

为了解决这个问题,我首先切换AVPlayerViewControllerAVPlayerLayer并添加了这两行代码:

playerLayer.shouldRasterize = true
playerLayer.rasterizationScale = UIScreen.main.scale
Run Code Online (Sandbox Code Playgroud)

第一行似乎删除了那些奇怪的行,但使视频的质量很糟糕。第二行代码修复了质量。

希望这可以帮助某人!