AVPlayer需要很长时间才能开始播放

问题描述:

在更新Swift 3之后,我意识到我的应用需要很长时间才能从远程服务器开始播放音频文件。在Swift 2.3中,这并没有发生。我一直试图整天调试,但我无法找到任何东西。我一直在打印AVPlayer的状态,我发现它在几秒钟内从Loading更改为Playing,但真正开始播放歌曲需要大约20秒。AVPlayer需要很长时间才能开始播放

我使用的点唱机通过TeodorPatras

+0

仅在调试时发生这种情况,或者如果您断开设备与计算机的连接并在设备上启动应用程序,是否会发生这种情况? – shallowThought

+0

@shallowThought当我在设备上启动应用程序 – ctabuyo

我最后用的下一行代码固定它自己:

player?.playImmediately(atRate: 1.0) 

该行确实是什么,它启动,但不保证立刻播放,缓冲it'足以不会中断。但在我的情况下,我更喜欢等待几秒钟。

+0

我也面临同样的问题,但它不适合我。我是否必须用你的代码替换player.play()或者我必须保持这两个? –

+0

@MaheshNarla替换。 – ctabuyo

我只有与iOS 10设备相同的问题。支持iOS 10和旧iOS版本的解决方案如下:

if #available(iOS 10.0, *) { 
    player?.playImmediately(atRate: 1.0) 
} else { 
    player?.play() 
}