簡體   English   中英

兩個AVPlayer視頻不同步(快速)

[英]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.

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