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