我想在分区视图控制器中播放视频,我可以播放/暂停或关闭该视图控制器。在我的情况下,我在我的应用程序中录制了视频并调用此委托方法以便将此视频保存在资源中,但我想在使用ALAssetsLibrary
之前先播放它。
- (void)captureOutput:(AVCaptureFileOutput *)captureOutput
didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL
fromConnections:(NSArray *)connections
error:(NSError *)error
我得到的TEMO网址是:
file:///private/var/mobile/Containers/Data/Application/EA6D31AC-6CC3-4BDF-B874-BC6F30BA5677/tmp/output.mov
如何在下一个视图控制器或同一视图控制器中播放此视频?
我的尝试:
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:outputFileURL];
player.view.frame = CGRectMake(184, 200, 400, 300);
[self.view addSubview:player.view];
[player play];
PS:这显示黑屏区域但实际上没有播放此视频。
答案 0 :(得分:0)
前几天我遇到了同样的问题。最终我在视频准备播放之前很快就调用了播放方法。所以,在调用[播放器播放]之前添加它。每当您的视频被读取以在MPMoviePlayerController中播放时,这将通知。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoPlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:player];
然后设置观察者:
- (void)videoPlayBackDidFinish:(NSNotification *)notification {
[[NSNotificationCenter defaultCenter]removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
}
这对我有用。
希望它有所帮助。