我有一个简单的应用程序,以120fps记录视频,将其保存到文档目录,然后使用AVPlayer实例播放它 .

如果我将播放速率设置为1.0(对于AVPlayer实例),播放有点不连贯(可能更多的是60fps) . 但是,如果我通过按“播放”按钮中断播放(然后再将播放速率设置为1.0!),它将非常流畅地播放 .

例如,当用户按下播放按钮时会发生这种情况(是的,在允许用户播放视频之前,我会观察AVPlayer的'status'属性):

- (IBAction)playButtonPressed:(id)sender
{
    [self.videoPlayer seekToTime:kCMTimeZero];
    [self.videoPlayer setRate:1];
    self.videoPlayer.volume = 1;
}

这是我简单的播放器设置代码:

- (void)setUpAVPlayer
{
    self.videoURL = [[NSURL alloc] initFileURLWithPath:self.videoURL.path];
    self.videoPlayer = [AVPlayer playerWithURL:self.videoURL];

    [self.previewLayer setPlayer:self.videoPlayer];

    // observe player status
    [self.videoPlayer addObserver:self
                       forKeyPath:@"status"
                          options:0
                          context:nil];
}

我正在做的事情真的没有什么不寻常的 . 它播放视频很好 . 仅在视频以120fps录制时才会出现播放问题 .

(此外,这是在我的iPhone5s上运行,因为它是唯一支持120fps的设备 . )