在我的应用程序中, 我有一个 < code> AVPlayer code >, 用于播放、 擦拭等视频文件。 我试图执行以下功能, 但还没有找到一个好的解决方案...
假设视频文件是3000框架长的, 游戏头在1000框架上。 当用户按下“ 玩耍” 按钮时, 我希望视频播放一个10框架的视频部分, 以1000框架为中心, 即995- 1005框架。 当播放器到达995或1005框架时, 我要回放到反方向 。 换句话说, 框架顺序会是 :
1001-1002-1003-1003-1003-1003-1004-1004-1004-1003-1003-1003-1002-1003-1003-1003-1003-1002-10011-1000-1009-999-999-999-999-999-996-996-996-999-999-999-999-1000
并无限期重复。
我第一次尝试使用 - addboundYourTime visor ForTimes:queue:using Block:
来定义视频段的起始点和终点,并切换块中播放器率的符号。 这“ 时间有时 < / 时间 / 时间 ” 有效, 但当视频段很小时, 最终会“ 丢失”, 视频会继续沿着这个方向播放, 直到它到达文件的开始或结束。
我试图通过添加另一个时间观察者来缓解这一点, 使用 来检查边界是否被错失, 如果是的话, 可以重置循环播放回放 。 再说一次, 这有效 < em> 有时 < / em >, 但是如果播放区域的开始或结束恰好是视频文件的第一个或最后一个框架, 将会失败 。 @ info: tooltip
我then 试图为 AVPlayerTelenologyDidPlayPlayToTimeNotification
设置回调,以便再次重置重播,如果它击中视频文件的边界的话。再次,它的工作是 SOMETEIMES ,但最终会停止回放或导致回放无限期地在文件结尾处播放。
我在这里失去了所要做的。 我可能会创建一个 < code> 反车辆地雷组合 来模拟效果, 但还有许多其他物体取决于视频播放器的确切时间, 需要对该应用程序进行重大修改, 才能执行一个完整的单独操作系统, 以模拟与构成( 我目前并不愿意这样做) 相关的视频播放器时间 。 有任何想法吗?