html倒放播放器,AVPlayer 的无缝快进和倒放.

本文探讨了在iOS中使用AVPlayer时遇到的seekTime方法延迟问题,通过深入理解官方API,特别是seekToTime:toleranceBefore:toleranceAfter:completionHandler:方法,解决了拖动播放进度时的延迟现象。通过设置一个BOOL值来确保完成处理程序在正确时机调用,实现了播放器的无缝快进和倒放功能。
摘要由CSDN通过智能技术生成

最近研究一个AVPlayer seekTime方法的 问题.这个方法虽然可以跳到指定的帧,但是如果你用拖动框去调动这个方法,你会发现这个方法会延迟.

我们查看系统的播放器,你会发现他是不会延迟.拖到哪就能显示当前帧.

我们查找API发现seekTime 还有一个

- (void)seekToTime:(CMTime)time toleranceBefore:(CMTime)toleranceBefore toleranceAfter:(CMTime)toleranceAfter completionHandler:(void (^)(BOOL finished))completionHandler

这个方法发现官方的解释是:

在指定的时间范围内移动回放光标,并在查找操作完成或中断时调用指定的块。

使用此方法可以查找当前播放器项目的指定时间,并在查找操作完成时收到通知。

要求的时间将在[时间容差前,时间+容差后]范围内,并且可能与指定的效率时间不同。

将kCMTimeZero传递给toleranceBefore和toleranceAfter以请求采样精确搜索,这可能会导致额外的解码延迟。

使用beforeTolerance消息传递此方法:kCMTimePositiveInfinity和afterTolerance:kCMTimePositiveInfinity与消息传递seekToTime:直接相同。

任何之前正在处理的查找请求的完成处理程序将立即调用,并将完成的参数设置为NO。如果新的

请求完成而不被另一个查找请求或任何其他操作中断,指定的完成处理程序将被调用

完成参数设置为YES。

没错这个就是我们要找个.但是当你换成这个方法的时候,你会发现,没什么**用.

我们深究官方的解释我们要理解

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值