[英]Two AVPlayer videos out of sync (Swift)
我有兩個AVPlayer()
項播放相同持續時間(10秒)的視頻。 目標是讓它們循環並彼此保持同步。 我將它們添加為同一UIView
子層,然后在它們中的每一個上調用player.play()
。
但是,問題在於,由於代碼執行顯然有最小的延遲,因為一個延遲在另一個延遲之后被調用,因此視頻不同步(盡管只有幾毫秒,但很明顯)。
正如我看到的其他帖子所建議的那樣,我沒有選擇創建AVMutableComposition的方法,因此,是否有兩個真正獨立的播放器真正保持同步並同時播放?
謝謝!
如果要實現同步,則應分別使用AVPlayer加載視頻並觀察每個播放器的AVPlayerItemStatus
屬性。 只有當所有的球員都有狀態.readyToPlay
可以遍歷球員和設置.rate
屬性。
編輯:
您也可以使用setRate(_:time:atHostTime:)
同步它們。 不要忘記在調用setRate
之前開始使用preroll(atRate:completionHandler:)
加載媒體數據。 基本上:
readyToPlay
preroll(atRate:completionHandler:)
setRate(_:time:atHostTime:)
當所有玩家都已預滾動時
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.