簡體   English   中英

流長音樂時,在AVPlayer中更快的查找時間

[英]Faster seek time in AVPlayer when streaming long music

我正在使用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次。因此,您需要創建一個事件處理程序,該事件處理程序將使用戶停止滑動。

您可以從“ 如何檢測滑塊拖動答案的結尾”獲得答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM