看板 MacDev 關於我們 聯絡資訊
請問一下 最近碰到avplayer loading時機的問題, 目前想做到當在進行 緩衝的時候, 顯示loading的動畫 目前看到的做法是註冊監聽 self.playerItem?.addObserver(self, forKeyPath: "playbackBufferEmpty", options: .new, context: nil) self.playerItem?.addObserver(self, forKeyPath: "playbackLikelyToKeepUp", options: .new, context: nil) self.playerItem?.addObserver(self, forKeyPath: "playbackBufferFull", options: .new, context: nil) override func observeValue() if keyPath == "playbackBufferEmpty" { if let item = playerItem { if item.isPlaybackBufferEmpty { self.download.startAnimating() } } } else if keyPath == "playbackLikelyToKeepUp" { if let item = playerItem { if item.isPlaybackLikelyToKeepUp { self.download.stopAnimating() } } } else if keyPath == "playbackBufferFull" { if let item = playerItem { if item.isPlaybackBufferFull { self.download.stopAnimating() } } } 但是發現 loading 動畫停止的時候 並不會 馬上播放, 要等好幾秒 要怎麼才能做到當loading動畫停止"馬上"播放 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.181.227 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1492995497.A.F71.html
yuanruo: KVO回調裡監聽playerItem 的status 04/24 10:49
herbacin: status == readyToPlay? 04/24 11:09
herbacin: seek後並沒有回調 status 04/24 11:39