Ios 设置AVPlayerLayer的不透明度
我看到很多人想播放背景透明的视频。这不是我在这里试图实现的目标 我试图设置整个图层的不透明度。下面是我如何设置图像层的不透明度。我尝试了同样的方法来设置视频层的不透明度,但是当我尝试淡入淡出时什么也没有发生Ios 设置AVPlayerLayer的不透明度,ios,swift,video,opacity,Ios,Swift,Video,Opacity,我看到很多人想播放背景透明的视频。这不是我在这里试图实现的目标 我试图设置整个图层的不透明度。下面是我如何设置图像层的不透明度。我尝试了同样的方法来设置视频层的不透明度,但是当我尝试淡入淡出时什么也没有发生 @IBAction func imageFadeAction(_ sender: Any) { let rounded = Int(round(imageFader.value)) imageLabel.text = "\(rounded.description)%"
@IBAction func imageFadeAction(_ sender: Any) {
let rounded = Int(round(imageFader.value))
imageLabel.text = "\(rounded.description)%"
let fade = imageFader.value / 100
SecondScreen.main?.backgroundImage.alpha = CGFloat(fade)
SecondScreen.main?.viewDidLoad()
}
这就是我播放视频和生成图层的方式
func playVideo() {
let videoURL = SecondScreen.videoPath
self.player = AVPlayer(url: videoURL!)
self.avpController = AVPlayerLayer(player: player)
avpController.frame = self.view.bounds
self.view.layer.addSublayer(avpController)
player.play()
}
有人能告诉我这是否可能,或者给我指出正确的方向吗?要回答我自己的问题,请使用容器视图。在单独的ViewController中播放视频,并将其嵌入容器视图中。然后可以设置容器视图的不透明度
我不知道这是否是正确的方法,但它对我和我所需要的都有效。如果有人有更好的答案,请随意分享您可以将其
不透明度设置为0。大概是这样的:
guard let path = Bundle.main.path(forResource: "SomeVideo", ofType: ".Someformat") else {
return nil
}
let player = AVPlayer(url: URL(fileURLWithPath: path))
let playerLayer = AVPlayerLayer(player: player)
playerLayer.opacity = 0
.
.
.
非常感谢!设法做了一些很酷的过渡,并摆脱了可怕的紧张的初始视频加载。