【发布时间】:2022-11-02 23:31:24
【问题描述】:
我正在使用 AVPlayer 来展示视频。该应用程序只有一个 .mp4,但对于不同的用例,需要翻转相同的视频。
按钮在那里并且功能齐全,您可以按播放和 15 秒前进/后退按钮,但它们不会出现在屏幕上(附图中的第 4 个视频)
问题似乎是我添加的翻转层覆盖了新的布局按钮。
我正在考虑的潜在解决方法是在将视频添加到播放器之前翻转视频。
你知道是否有一个简单的解决方案吗? 也许有一种简单的方法可以保持 iOS 15 的播放按钮布局?
该应用程序用于翻转视频的代码如下:
@IBAction func pressButton(_ sender: Any) {
guard let path = Bundle.main.path(forResource: "sample-5s", ofType:"mp4") else {
return
}
let avPlayer = AVPlayer(url: URL(fileURLWithPath: path))
let avPlayerController = AVPlayerViewController()
present(avPlayerController, animated: true, completion: {
let flippedLayer = AVPlayerLayer(player: avPlayer)
let transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
flippedLayer.frame = (avPlayerController as UIViewController).view.frame
flippedLayer.setAffineTransform(transform)
(avPlayerController as UIViewController).view.layer.addSublayer(flippedLayer)
avPlayerController.player = avPlayer
avPlayer.play()
})
}
【问题讨论】:
-
你有没有深究这件事?我遇到了同样的问题,默认情况下似乎无法显示播放器控件。
-
@ChrisHefferman 不,我们无法修复它。我们试图将图层推到底部但没有奏效,还尝试了更多不同的东西,但没有奏效。我们也在 Apple 开了一张票,但我们没有得到任何回应(附件)。我们最终在外面创建了单独的视频,并用 QuickTime 翻转它们。 developer.apple.com/forums/thread/709485
-
感谢您的回复,我也从未找到解决方案,最终决定在 UI 顶部显示一个按钮,如果单元格是一个视频,该视频会消失并在点击时播放视频。遗憾的是,现在默认情况下没有显示 - 我也在一个开发者论坛上发现了这个,我一直在关注:developer.apple.com/forums/thread/711360
标签: swift avplayer avplayerviewcontroller avplayerlayer ios16