在iPhone App中,反向(向后)播放电影的MPMoviePlayerController不流畅

时间:2012-04-25 07:09:58

标签: iphone ios video mpmovieplayercontroller

我正在开发一个iPhone应用程序,我需要反转视频播放。我目前正在使用XCode 4.2。我正在尝试使用MPMoviePlayerController反向播放电影。 但是当它反向播放时,它并不像播放它那样顺畅。它变得有点波涛汹涌,一点也不顺畅。以下是我的代码。

- (void)viewDidLoad{
//code for initializing the movie player
MPMoviePlayerController videoPlayer = 
[[MPMoviePlayerController alloc] initWithContentURL:"URL"];
self.videoPlayer = videoPlayer;
[videoPlayer release];
self.videoPlayer.view.userInteractionEnabled = NO;
self.videoPlayer.initialPlaybackTime = -1;
self.videoPlayer.shouldAutoplay=NO;
[self.videoPlayer prepareToPlay];


//code for initializing the button 
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

[button setTitle:@"Reverse" forState:UIControlStateNormal];

[button addTarget:self 
action:@selector(reverseMovie) forControlEvents:UIControlEventTouchDown];

button.frame = CGRectMake(0, 0, 50, 40);

[self.view addSubview:button];
}

-(void)reverseMovie{
[self.videoPlayer setCurrentPlaybackRate:-1.0];
}

可能的解决办法是什么?

2 个答案:

答案 0 :(得分:4)

我试图在AVFoundation中做同样的事情。在我设法让它工作之前,我不得不工作很多。

我所做的是生成图片,颠倒顺序,将它们放入assetWriter,导出视频然后播放。

您可以在此处下载我的代码:https://github.com/mikaelhellqvist/ReverseClip

答案 1 :(得分:0)

尝试使用AVPlayer

 avPlayer.rate=-1.0f;

这会将速率设置为-ve,从而平滑地播放视频。 :)