Нашел гист для постепенного и постепенного исчезновения звука, но я пытаюсь добавить / ослабить видео.
let asset = AVAsset(url: url) as AVAsset
let duration = asset.duration
let durationInSeconds = CMTimeGetSeconds(duration)
let item = AVPlayerItem(asset: asset)
Вот мой код:
queuePlayer.replaceCurrentItem(with: item)
queuePlayer.play()
let fadeOut = CABasicAnimation(keyPath: "opacity")
fadeOut.fromValue = 1.0
fadeOut.toValue = 0.0
fadeOut.duration = durationInSeconds
fadeOut.setValue("video", forKey:"fadeOut")
fadeOut.isRemovedOnCompletion = true
fadeOut.fillMode = CAMediaTimingFillMode.forwards
playerLayer.add(fadeOut, forKey: nil)
Работает не так, как ожидалось. Я просто хочу исчезнуть за несколько секунд до окончания видео.