我正在播放一个 AVPlayerItems 数组,该数组来自mp3 URLS,带有 AVURLAsset . 我当然正在使用 AVQueuePlayer ,但是当我使用数组启动播放器时,它会同时尝试缓冲所有 AVPlayerItems

因此应用程序冻结直到完成,然后它播放第一首歌曲(经过5分钟后),我可以按下一个按钮继续播放以下歌曲,其间没有缓冲时间 . 这就像它下载了所有歌曲然后决定开始播放队列 .

我有什么方法可以阻止这个?我已经尝试了从使用foreach添加歌曲(做同样的事情)到下一个按钮被按下时加载下一首歌的一切(有效,但是当歌曲自动结束时我怎么能这样做呢?) .

Summary of my problem: 每次我将 AVPlayerItem 添加到 AVQueuePlayer 队列时,它会缓冲它然后在那里,而不是等待当前的 AVPlayerItem (正在播放)在开始缓冲下一个之前完成 .

Super Short Summary of my problem: AVQueuePlayer 在init时将每个 AVPlayerItem 缓冲在一个数组中 .

感谢您的帮助,我真的很感激!