[仅当使用HLS视频时,在具有AVPlayerViewController和AVPlayer的iOS 13上视频播放问题

问题描述 投票:2回答:1

我有一个播放视频的应用。它与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或什至只是...
ios avplayer ios13 avplayerviewcontroller avplayerlayer
1个回答
0
投票
尝试重新整理HLSPlaylist.m3u8中的各个元素。可以看到,Safari和AVPlayer更喜欢列表中的第一项。
© www.soinside.com 2019 - 2024. All rights reserved.