【发布时间】:2017-03-30 10:37:53
【问题描述】:
我正在使用AVPlayer,我通过AVPlayerItem 连接到远程URL。问题是我想立即播放来自URL 的声音,不要让用户等待AVPlayer 缓冲。
问题是,如果远程URL's 资产媒体非常短,那么它根本不会缓冲很长时间,但如果媒体有点长,则需要一段时间。
有没有办法跳过缓冲过程或至少大大缩短缓冲过程?
【问题讨论】:
-
This answer 可能对您的情况有用。
-
没有根本问题是 AVPlayer(Item) 使用它的属性 .status 当项目准备好播放时返回 AVPlayerItemStatus.readyToPlay 。这个属性是一个 get only 并且基于 Apple 的一些算法。
-
我通过添加一个计时器来“解决”它,该计时器在 0.5 秒后使用 AVPlayer.playImmediately(atRate: 1) 播放音频。这使它更具响应性
-
虽然我需要它比这更快,所以任何帮助都是有用的。
标签: swift swift3 avfoundation avplayer avplayeritem