【问题标题】:Set opacity of AVPlayerLayer设置 AVPlayerLayer 的不透明度
【发布时间】:2019-07-01 03:49:31
【问题描述】:

我看到很多人想要播放具有透明背景的视频的帖子。这不是我想要在这里完成的。

我正在尝试设置整个图层的不透明度。下面是我如何设置图像层的不透明度。我尝试了相同的方法来设置视频层的不透明度,但是当我尝试淡入淡出时没有发生任何事情

    @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()
}

谁能告诉我它是否可能或指出我正确的方向

【问题讨论】:

    标签: ios swift video opacity


    【解决方案1】:

    您可以将其opacity 设置为 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
        .
        .
        .
    

    【讨论】:

      【解决方案2】:

      要回答我自己的问题,请使用容器视图。在单独的 ViewController 中播放视频并将其嵌入到容器视图中。然后你可以设置容器视图的不透明度。

      我不知道这是否是正确的做法,但它适用于我和我所需要的。如果有人有更好的答案,请随时分享

      【讨论】:

      • 非常感谢!设法进行了一些很酷的过渡,并摆脱了可怕的紧张初始视频加载。
      猜你喜欢
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 1970-01-01
      • 2014-07-28
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      相关资源
      最近更新 更多