我使用AVPlayer从互联网上传输流式传输MP3文件,它的工作非常慢。使用探查器我发现,它首先下载整个文件,然后开始播放。有没有解决方法?使用AVPlayer进行流式传输很慢
现在,我使用这个代码
if let player = player {
NotificationCenter.default.removeObserver(self, name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: player.currentItem)
let item = AVPlayerItem(url: url)
player.replaceCurrentItem(with: item)
} else {
player = AVPlayer(url: url)
}
player?.play()
事情我已经试过:
- 移动播放器.play()观察者,连接到状态财产该项目
- 玩弄属性preferredForwardBufferDuration和preferredPeakBitRate
所有的结果是下载一个完整的音频文件,然后才开始播放。
请注意,问题是 - 播放器开始播放整个文件下载后,而我想它流MP3。
你可以查看这个链接http://stackoverflow.com/questions/22813557/playing-stream-with-bad-internet-in-avplayer –
尝试使用:player.automaticallyWaitsToMinimizeStalling = false – Suen
@Suen,是的!它现在在整个加载之前播放。你能否将你的评论改为答案,以便其他人更容易看到它? –