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 正如您所见,这些边框只能在实际设备上看到(左侧的屏幕截图也是从该设备上截取的,但没有边框)。
有想法该怎么解决这个吗?
在多个设备(实际物理设备,而不是模拟器)上测试此代码后,此错误似乎只发生在 Plus 设备上(我在 iOS 11 上的 i8、iOS 11 上的 i8+、iOS 11 上的 iX 和 iOS 10 上的 i6+ 上进行了测试) .
为了解决这个问题,我首先切换AVPlayerViewController到AVPlayerLayer并添加了这两行代码:
playerLayer.shouldRasterize = true
playerLayer.rasterizationScale = UIScreen.main.scale
Run Code Online (Sandbox Code Playgroud)
第一行似乎删除了那些奇怪的行,但使视频的质量很糟糕。第二行代码修复了质量。
希望这可以帮助某人!
| 归档时间: |
|
| 查看次数: |
626 次 |
| 最近记录: |