Intereting Posts
показать страницу html в приложении iphone по страницам Как разместить поисковую панель в центре в Swift UISearchBar searchBarCancelButtonClicked не вызывается с использованием Swift 3 UITabbarController разрешает редактирование на более вкладке Присвоение атрибута attributeText для UILabel приводит к сбою приложения с «NSConcreteMutableAttributedString initWithString :: nil value» Как использовать класс-дамп, чтобы найти, где приложение iOS использует закрытый контент Фоновая загрузка слишком медленная, используя NSURLSession в iOS Прямая запись звука iOS в файл .m4a (аудио / mpeg-4) с использованием TPAACAudioConverter iOS Restkit и Etag После обновления до Cocoapods 0.38 Build не удалось найти библиотеку, не найденную Обновите SDK AdMob с v6.12.2 до версии 7.8.1 Как определить, загрузили ли плитки Google Maps Проблемы с NSNetServiceBrowser в iOS – не обнаружение всех изменений Кодирование ASCII для строки с использованием Swift detailTextLabel не показывается до выбора строки

playPrerollAdWithCompletionHandler проблема

Я настраиваю MPMoviewPlayerController для отображения iAd перед тем, как начать воспроизведение видео. Таким образом, мой код выглядит так

player = [MPMoviePlayerController new]; player.contentURL = videoURL; [player playPrerollAdWithCompletionHandler:^(NSError *error) { NSLog(@"error playing ad %@", error.userInfo); [player play]; }]; [self.contentView addSubview:player.view]; [self.contentView layoutIfNeeded]; 

И в AppDelegate

 [MPMoviePlayerController preparePrerollAds]; 

Но проблема в том, что я получаю звук, но плеер не отображает видео. Также я не получаю никаких ошибок в обработчике завершения … Любая помощь очень ценится!

Для меня это работает только тогда, когда плеер установлен в полноэкранный режим.

 [parent.view addSubview: player.view]; [parent.view bringSubviewToFront:player.view]; [player setFullscreen:YES animated:YES]; 

У меня была такая же проблема (я слышал звук, но не воспроизводился видео), и я получил ответ на Форумы разработчиков Apple .

Кажется, вы должны убедиться, что есть только одна ссылка на контроллер видеоплеера. Это код, который я использовал, который теперь работает:

 @interface UIViewController () @property (strong, nonatomic) MPMoviePlayerController *moviePlayer; @end 

 MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] init]; moviePlayer.contentURL = movieURL; if (moviePlayer) { self.moviePlayer = moviePlayer; moviePlayer = nil; [self.moviePlayer prepareToPlay]; [self.view addSubview:self.moviePlayer.view]; } 

Затем я использую:

 - (void)playVideo { [self.moviePlayer playPrerollAdWithCompletionHandler:^(NSError *error) { if (!error) { [self.moviePlayer play]; } }]; } 

Надеюсь, это поможет.