【发布时间】:2019-06-29 21:46:34
【问题描述】:
我正在使用 AVPlayer 从 https url 播放视频,设置如下:
player = AVPlayer(url: URL(string: urlString))
player?.automaticallyWaitsToMinimizeStalling = false
但由于视频有点长,在视频真正开始播放之前会有短暂的黑屏延迟。我认为这是因为它是从 https 加载的。
有没有办法通过让AVPlayer 立即播放视频而不加载整个视频来消除这种延迟?
我添加了.automaticallyWaitsToMinimizeStalling,但这似乎没有什么不同。
如果有人有任何其他建议,请告诉我。
【问题讨论】:
-
在这里看看这个问题的答案:stackoverflow.com/a/47055601/4844273 - 你应该使用 AVPlayerItem 和 AVPlayerLayer。
-
@elarcoiris 没有回答。
-
延迟是不可避免的,为什么不直接覆盖它呢?
-
@matt 那么其他应用如 snapchat 和 instagram 怎么没有呢?
-
通常将视频的第一屏用作缩略图。当视频加载并开始播放时,它不会闪烁,因此用户认为它是那里的视频。询问您的视频提供商是否具有渐进式下载功能,如果没有请检查@teodora-georgieva 的答案,如果不要求您的视频提供商将视频作为 HTTP 直播流 (HLS) 提供。在任何情况下,在获取第一个缓冲区时都需要第一帧。
标签: ios swift avfoundation avplayer