У меня есть приложение, которое воспроизводит видео. Он совместим с 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, и я подам радара, но мне все еще нужно с этим бороться.