iOS - AVPlayer 不播放 mov 文件

Posted

技术标签:

【中文标题】iOS - AVPlayer 不播放 mov 文件【英文标题】:iOS - AVPlayer doesn't play mov file 【发布时间】:2019-04-03 10:52:18 【问题描述】:

我有以下代码不适用于 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

【问题讨论】:

你能分享有问题的文件吗?这样就更容易追查问题了。 当然:ufile.io/jcbfn 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于iOS - AVPlayer 不播放 mov 文件的主要内容,如果未能解决你的问题,请参考以下文章

iOS音频篇:使用AVPlayer播放网络音乐

ios Objective C应用程序上的AVPlayer不播放视频

iOS音频篇:使用AVPlayer播放网络音乐

AVPlayer 不在 iOS 文档目录中播放 MP3 音频文件

iOS音频播放

在 IOS 9 上使用 AVPlayer 和 Swift 反向播放视频