sim*_*ity 0 ios avplayer swift
我有两个AVPlayer()项目播放相同持续时间(10 秒)的视频。目标是让它们循环并彼此保持同步。我将它们添加为相同的子层,UIView然后调用player.play()它们中的每一个。
但问题是,由于代码执行显然有最轻微的延迟,因为一个在另一个之后调用,视频不同步(虽然只有几毫秒,但很明显)。
正如我看到其他帖子所建议的那样,我没有创建 AVMutableComposition 的选项,那么无论如何要让两个独立的播放器真正保持同步并完全同时播放?
谢谢!
如果你想实现同步,你应该用AVPlayer单独加载视频并观察AVPlayerItemStatus每个播放器的属性。只有当所有玩家都有状态时,.readyToPlay您才能循环播放玩家并设置.rate属性。
编辑:
您还可以使用 同步它们setRate(_:time:atHostTime:)。不要忘记preroll(atRate:completionHandler:)在调用之前开始使用加载媒体数据setRate。基本上:
readyToPlaypreroll(atRate:completionHandler:) 当所有玩家都准备好时setRate(_:time:atHostTime:) 当所有玩家都被预卷时| 归档时间: |
|
| 查看次数: |
1320 次 |
| 最近记录: |