MPMoviePlayerController 在 iPhone 应用程序中反向(向后)播放电影不流畅
Posted
技术标签:
【中文标题】MPMoviePlayerController 在 iPhone 应用程序中反向(向后)播放电影不流畅【英文标题】:MPMoviePlayerController playing movies in reverse (backwards) is not smooth in iPhone App 【发布时间】:2012-04-25 07:09:57 【问题描述】:我正在开发一个需要反转视频播放的 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];
有什么可能的解决方案?
【问题讨论】:
【参考方案1】:我尝试在 AVFoundation 中做同样的事情。在我设法让它工作之前,我不得不做很多工作。
我所做的是生成图像,颠倒顺序,将它们放入assetWriter,导出视频然后播放。
你可以在这里下载我的代码:https://github.com/mikaelhellqvist/ReverseClip
【讨论】:
在 GitHub 上的问题下归档。我去看看。 Mike 你的示例代码在这里崩溃有什么建议吗? - BOOL 附加 = [assetWriterPixelBufferAdaptor appendPixelBuffer:pixelBuffer withPresentationTime:presentationTime]; 我没有遇到任何问题。你有日志吗?你可以在 github 上创建一个问题。 现在在 GitHub 上找到您的问题。会在那里回答你。 感谢您帮助我的朋友。请务必说明这些宽度和高度参数的含义,以及我们是否需要在代码中为不同大小和长度的视频担心它们【参考方案2】:用 AVPlayer 试试这个
avPlayer.rate=-1.0f;
这会将速率设置为 -ve,因此可以顺畅地反向播放视频。 :)
【讨论】:
以上是关于MPMoviePlayerController 在 iPhone 应用程序中反向(向后)播放电影不流畅的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MPMoviePlayerController 上处理多个 SRT 文件
在 MPMoviePlayerController 上执行捏合手势时屏幕黑屏
在 UITableViewCell 中嵌入 MPMoviePlayerController
MPMoviePlayerController 在影片结尾更改控件样式