Проблемы с воспроизведением видео только на iOS 13 с AVPlayerViewController и AVPlayer при использовании видео HLS - PullRequest
2 голосов
/ 28 октября 2019

У меня есть приложение, которое воспроизводит видео. Он совместим с iOS 11, 12 и iOS 13. В iOS 11 и 12 воспроизведение видео работает должным образом с использованием AVPlayerViewController или даже AVPlayerLayer.

Однако на iOS 13 я начал получать отчетыэто внезапно видео не загружалось (или загружало бы аудио, или только первый кадр) для довольно многих пользователей, когда они обновляли iOS. Мне было очень тяжело копировать его, но некоторые упоминали, что это происходило в основном с плохими сетевыми подключениями, и, конечно же, с помощью Network Link Conditioner я смог воспроизвести его. например, тот, который использует Reddit). Он продолжает нормально работать с MP4. Вот пример URL, который не работает: https://v.redd.it/gl3chx2kd4v31/HLSPlaylist.m3u8

Вот профиль Network Link Conditioner, который запускает его: https://i.imgur.com/XWsKUeM.jpg

Вот пример проекта, который запускает его, показывая AVPlayerViewController и AVPlayer (хитСкачать, Google странный): https://drive.google.com/file/d/1RS5DvUypdOLFCYJe1Pt2Ig0fQljZDLs2/view

Вот пример кода, демонстрирующий его с помощью AVPlayerViewController:

let assetURL = URL(string: "https://v.redd.it/gl3chx2kd4v31/HLSPlaylist.m3u8")!

// The following MP4 URL *does* work, for instance
// let assetURL = URL(string: "https://giant.gfycat.com/DependentFreshKissingbug.mp4")!

let player = AVPlayer(url: assetURL)
let playerViewController = AVPlayerViewController()
playerViewController.player = player

self.present(playerViewController, animated: true) {
    playerViewController.player!.play()
}

Если я попробую этот же код на устройстве iOS 12, вместо этого он будет работатьотлично.

У кого-нибудь есть предложения как это исправить? Если вы вернетесь к началу , иногда , вы сможете заставить видео воспроизводиться должным образом, но недостаточно надежно, чтобы, казалось бы, построить решение на этом основании. Видео не определенно моя сильная сторона в разработке под iOS, поэтому я начинаю немного чесать голову, любая помощь будет очень признательна.

Примечание: я вполне осознаю, что это (вероятно,) ошибка в iOS, и я подам радара, но мне все еще нужно с этим бороться.

...