В моем приложении я могу использовать такой код для воспроизведения видео:
- (void)playVideo:(NSURL *)url {
MPMoviePlayerViewController *m = [[[MPMoviePlayerViewController alloc] initWithContentURL:url] autorelease];
[self.rootViewController presentMoviePlayerViewControllerAnimated:m];
}
И все отлично работает.
Но если я использую такой код для отображения видеоредактора:
- (void)editVideo:(NSString *)file {
UIVideoEditorController *ed = [[[UIVideoEditorController alloc] init] autorelease];
ed.delegate = self;
ed.videoPath = file;
[self.rootViewController presentModalViewController:ed animated:YES];
}
- (void)videoEditorControllerDidCancel:(UIVideoEditorController *)vc {
[vc.parentViewController dismissModalViewControllerAnimated:YES];
}
и просто нажмите Отмена, метод playVideo:
больше не будет воспроизводить видео! Он нормально отображает окно проигрывателя фильмов и отображает загрузчик, но после завершения загрузки происходит сбой. Иногда он сразу закрывает окно видео, ничего не воспроизводя, а иногда он превращается в черный экран, который не реагирует на ввод данных (но исчезнет, если я отправлю приложение на задний план, а затем верну его на передний план). Это не MPMoviePlayerViewController Проблема с черным экраном! , хотя, поскольку я получаю тот же черный экран, если я намеренно пропускаю MPMoviePlayerViewController.
Я что-то не так делаю или просто сломался хлам Apple?