iOS - AVPlayer не воспроизводит файл mov - PullRequest
1 голос
/ 03 апреля 2019

У меня есть следующий код, который не работает с файлом MOV, но он работает, когда я использую файл MP4.Важная вещь для перемещения файла заключается в том, что он имеет альфа-канал.Я открыт, чтобы найти решения, которые предлагают мне альфа-канал, как и файл mov.

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 ]

2 голосов
/ 03 апреля 2019

AVPlayer не поддерживает формат ProRes с альфа: Использование AVPlayer для просмотра прозрачного видео

Но есть несколько вариантов. Посмотрите на этот средний пост: https://medium.com/@quentinfasquel/ios-transparent-video-with-coreimage-52cfb2544d54

1 голос
/ 04 апреля 2019

Вы можете воспроизводить H.264 или H.265 (на более новом оборудовании iOS) на iOS, но эти форматы не поддерживают альфа-канал. Встроенной поддержки альфа-канала нет, вам нужно будет использовать стороннюю библиотеку, другой вариант - это серия изображений PNG или декодирование WebM, но оба эти варианта будут потреблять ресурсы процессора.

...