我有一个简单的应用程序,以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的设备 . )