У меня есть UIViewController
, где я создаю видео, используя GPUImage
. Теперь, когда видео создано, я передаю NSURL второму UIViewController
, где я показываю его нам AVPlayerViewController
.
Я отображаю это через следующее
- (void)showTheVideo {
/// ----------
/// Show the video
/// ----------
// grab a local URL to our video
NSURL *videoURL = self.completeMovieURL;
// create an AVPlayer
self.player = [AVPlayer playerWithURL:videoURL];
// create a player view controller
AVPlayerViewController *controller = [[AVPlayerViewController alloc]init];
controller.player = self.player;
[controller setShowsPlaybackControls:TRUE];
[controller.view setBackgroundColor:[UIColor clearColor]];
//controller.videoGravity = AVLayerVideoGravityResizeAspectFill;
// show the view controller
[self addChildViewController:controller];
[self.viewVideo addSubview:controller.view];
controller.view.frame = self.viewVideo.frame;
[self.player play];
}
Проблема в том, что воспроизведение на втором контроллере UIViewController действительно ударил. Иногда он загружает видео, а иногда нет. Я проверил self.completeMovieURL
и путь есть.
Теперь, чтобы проверить, действительно ли видео создано, я попытался сохранить видео на втором контроллере, используя
[PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:self.completeMovieURL];
но я получаю сообщение об ошибке, если, однако, я пытаюсь сохранить его на контроллере представления, который я создал на нем, сохраняет нормально.
Может кто-нибудь объяснить, почему я могу сохранить видео на первом контроллере, но не могу на втором, и возникают проблемы с его воспроизведением?