经过长时间的研究,我找不到我正在搜索的内容(即使它存在也不知道),所以我正在考虑解决这个问题,以下是我找到的解决方案:
- 将视频文件拆分为我只播放我需要的序列的序列。
- 看看我想玩的和真正玩的在时间上的差异,而不是在下一回合纠正它。
对我来说,当我尝试分割视频时,我失去了质量,所以我使用了我在下面描述的第二种方法:
我需要播放 720 帧中的 20 帧,我的帧速率是 25 帧/秒,经过基本计算,我发现 20 帧在 0.8 秒内播放。假设“等待”变量是持续时间(我的情况是 0.8,但需要一些修正)我想玩(我稍后会介绍如何计算它)
首先,我在类中定义了一个静态“计时器”:
static NSTimer *timer;
因为我正在循环播放,所以每次我需要播放一个序列(只是为了确定)时,我都需要重新启动我的计时器,而不是我将它重新创建为新的并设置将被调用以暂停视频的函数(pauseVideoAtAnimation) :
[timer invalidate];
timer = [NSTimer scheduledTimerWithTimeInterval:wait target:self selector:@selector(pauseVideoAtAnimation:) userInfo:nil repeats:NO];
比我播放视频:
[player.moviePlayer play]
之后,我们需要添加的是 pauseVideoAtAnimation 中暂停视频的指令
[self.player.moviePlayer pause];
所有这些我什至在寻求帮助之前就已经完成了,所以等待变量的校正有什么变化,下面是相关说明(这里我们需要一个从 0 开始的计数器,并计算我们播放序列的次数)
double wait = 0.8;
wait += (counter * wait - self.player.moviePlayer.currentPlaybackTime);
counter ++;
就是这样,如果有人有同样的问题或只是对解决方案感到好奇,请随时与我联系 :)