我有一个播放视频的应用。它与iOS 11、12和iOS 13兼容。在iOS 11和12上,使用AVPlayerViewController
或什至AVPlayerLayer
都能正常播放视频。
[但是,在iOS 13上,我开始收到报告,说有相当多的用户在更新iOS时突然没有加载视频(或仅加载音频,或者仅加载第一帧)。我很难复制它,但是有人提到它主要是由于网络连接不良而引起的,并且可以肯定的是,使用Network Link Conditioner可以复制它。
它特别影响HLS视频(例如Reddit使用的与花哨的实时流兼容的视频)。它可以与MP4一起正常使用。这是失败的示例URL:https://v.redd.it/gl3chx2kd4v31/HLSPlaylist.m3u8
这里是触发它的网络链接调节器配置文件:https://i.imgur.com/XWsKUeM.jpg
这里是一个触发它的示例项目,显示了AVPlayerViewController和AVPlayer(点击Download,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错误,我将提交Radar,但我现在仍然必须对其进行处理。
我有一个播放视频的应用。它与iOS 11、12和iOS 13兼容。在iOS 11和12上,使用AVPlayerViewController或什至只是...