Ios 在forwardPlaybackEndTime后恢复AVPlayer

Ios 在forwardPlaybackEndTime后恢复AVPlayer,ios,objective-c,avfoundation,Ios,Objective C,Avfoundation,我已经创建了一个AVPlayer,并设置forwardPlaybackEndTime以在给定的时间戳进行本地视频停止。果然,视频在我要求的时间停止了。一切都好 现在,我希望视频在被用户操作触发(例如触摸按钮)时继续播放。不幸的是,如果不从头开始重新启动视频,我似乎无法做到这一点 我将为您提供所有AVPlayer设置代码(主要取自),但考虑到以下变量: AVPlayer *avPlayer; AVPlayerItem *playerItem; 我可以这样设置结束时间: [playerItem s

我已经创建了一个
AVPlayer
,并设置
forwardPlaybackEndTime
以在给定的时间戳进行本地视频停止。果然,视频在我要求的时间停止了。一切都好

现在,我希望视频在被用户操作触发(例如触摸按钮)时继续播放。不幸的是,如果不从头开始重新启动视频,我似乎无法做到这一点

我将为您提供所有AVPlayer设置代码(主要取自),但考虑到以下变量:

AVPlayer *avPlayer;
AVPlayerItem *playerItem;
我可以这样设置结束时间:

[playerItem setForwardPlaybackEndTime: CMTimeMake(30, 30)];
为了尝试简历,我尝试了以下方法:

[playerItem setForwardPlaybackEndTime: CMTimeMake(30, 30)];
[avPlayer setRate: 1.0];
没有骰子。我还尝试设置结束时间并调用
play
。不走运。我已尝试
seekToTime
将播放头放在视频停止的位置,以防有帮助。没有


有人能解释一下怎么做吗?谢谢

尝试将
forwardPlaybackEndTime
设置回默认值,
kCMTimeInvalid
然后继续播放视频

[playerItem setForwardPlaybackEndTime: kCMTimeInvalid];
[playerItem seekToTime: CMTimeMake(30, 30) toleranceBefore: kCMTimeZero toleranceAfter: kCMTimeZero];
[avPlayer play];

不起作用。这也会将视频重新启动到开头,然后运行到结尾。上面编辑的版本如何?寻找到你离开的那一点,然后继续。仍然不好。视频总是从一开始就重新开始。多亏了@darvids0n在回答中的一句即兴评论,我可能有点了解。他说:“如果你试图寻找,例如15秒,如果这是最近的关键帧的位置,它可能会从视频的开头开始。要迫使播放器寻找到准确的位置(注意:这需要几秒钟),请执行以下操作:”
[playerItem seekToTime:CMTimeMake(30,30)前公差:kCMTimeZero后公差:kCMTimeZero]似乎做到了这一点!