iOS-AVPlayer无法播放mov文件

时间:2019-04-03 10:52:19

标签: ios avplayer avplayerlayer

我有以下代码无法使用mov文件,但是当我使用MP4文件时它可以工作。 mov文件的重要事项是因为它具有alpha通道。 我愿意寻找像mov文件一样为我提供alpha通道的解决方案。

class MovViewController: UIViewController {
    var avPlayer: AVPlayer!

    override func viewDidLoad() {
        super.viewDidLoad()
        let filepath: String? = Bundle.main.path(forResource: "animacion_logo", ofType: "mov")
        let fileURL = URL.init(fileURLWithPath: filepath!)


        let player = AVPlayer(url: fileURL)
        let playerLayer = AVPlayerLayer(player: player)
        playerLayer.frame = self.view.bounds
        //        self.view.layer.addSublayer(playerLayer)
        self.view.layer.insertSublayer(playerLayer, at: 0)
        player.play()

    }
}

这是原始的mov文件:https://ufile.io/jcbfn

2 个答案:

答案 0 :(得分:2)

AVPlayer不支持带有alpha的ProRes格式: Using AVPlayer to view transparent video

但是有一些选择。看一下这篇中篇文章: https://medium.com/@quentinfasquel/ios-transparent-video-with-coreimage-52cfb2544d54

答案 1 :(得分:1)

您可以在iOS上播放H.264或H.265(在更新的iOS硬件上),但是这些格式不支持Alpha通道。没有内置的Alpha通道支持,您将需要使用3rd party库,另一个选项是一系列PNG图像或解码WebM,但是这两个选项都会消耗大量CPU资源。