我正在使用Jukebox库来传输远程音乐。我流的音乐有60分钟长。当我试图寻找它们时,大概需要30-40秒。我在图书馆修改了一些代码,使它们第一次立即播放。它起作用了,但不能加快寻找的速度。

 public func seek(toSecond second: Int, shouldPlay: Bool = false) {
    guard let player = player, let item = currentItem else {return}

    player.seek(to: CMTimeMake(Int64(second), 1))
    item.update()
    if shouldPlay {
        if #available(iOS 10.0, *) {
            player.playImmediately(atRate: 1.0)
        } else {
            player.play()
        }
        if state != .playing {
            state = .playing
        }
    }
    delegate?.jukeboxPlaybackProgressDidChange(self)
}

最佳答案

从您的评论中,我发现每当您滑动滑块时,该函数都会调用。例如,当您将滑块从0移动到50时,将调用50次。所以您需要创建一个eventhandler,它看起来像是win用户停止了滑动。
您可以从How to detect the end of slider drag答案获取答案。

关于ios - 流长音乐时,在AVPlayer中更快的查找时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45425061/

10-11 23:02
查看更多