Оффлайн-контент Fairplay HLS не воспроизводится

Я загружаю видео Fairplay HLS с помощью AVAssetDownloadTask и сохраняю ключ дешифрования. После успешного завершения загрузки я пытаюсь создать URL-адрес с локальным URL-адресом, но после загрузки ресурса в avplayer он не воспроизводится. Это же видео воспроизводится при подключении к сети, поэтому ключ дешифрования извлекается и сохраняется правильно.

Я заметил, что AVAssetResourceLoaderDelegate не вызывается в автономном режиме, поэтому в основном игрок не получает ключ дешифрования.

Кто-нибудь знает, что может быть не так?


person weuhi    schedule 14.07.2017    source источник
comment
Есть ли у тебя какое-нибудь решение?   -  person Vineesh TP    schedule 22.02.2018


Ответы (1)


Убедитесь, что вы установили preloadsEligibleContentKeys в true перед созданием экземпляра AVPlayer для вашего ресурса.

let asset = AVURLAsset(url: fileURL)
asset.resourceLoader.preloadsEligibleContentKeys = true
asset.resourceLoader.setDelegate(<#delegate#>, queue: DispatchQueue.global())
person Krin-San    schedule 06.04.2018