У меня проблемы с настройкой MPMoviePlayerController для работы на устройстве.Он отлично работает в симуляторе, проигрывая пятисекундное видео и затем отправляя соответствующий обратный вызов (myMovieFinishedCallback:
) в контроллер представления.Когда он запускается на устройстве, фильм никогда не появляется, хотя я могу проследить через [player play]
без проблем.myMovieFinishedCallback:
никогда не вызывается и ошибок нет.Все нужные ресурсы копируются.Есть идеи, что происходит?
Вот код, который я использую для создания и использования проигрывателя,
Обновление: я переключился на использование MPMoviePlayerViewController.На устройстве фильм по-прежнему не воспроизводится, просто крутится колесо прогресса бесконечно.Элементы управления также кратковременно мигают, хотя я установил для проигрывателя MPMovieControlStyleNone - кто-нибудь знает, как я могу это исправить?Фильм занимает пять секунд и около 1,5 МБ, если это имеет какое-либо значение.
Обновление: другие файлы фильмов работают, но я не могу понять, как заставить мою работу работать.Я пробовал это как .mov и .mp4, и настройки кажутся правильными.Любая идея, что заставило бы MPMoviePlayer вечно показывать колесо прогресса только на устройстве?
- (void) playMovie
{
NSString *url = [[NSBundle mainBundle]
pathForResource:@"myMovie"
ofType:@"mp4"];
MPMoviePlayerViewController *playerViewController =
[[MPMoviePlayerViewController alloc]
initWithContentURL:[NSURL fileURLWithPath:url]];
playerViewController.moviePlayer.controlStyle = MPMovieControlStyleNone;
playerViewController.moviePlayer.scalingMode = MPMovieScalingModeFill;
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(myMovieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:[playerViewController moviePlayer]];
playerViewController.view.frame = movieView.frame;
[movieView addSubview:playerViewController.view];
//---play movie---
MPMoviePlayerController *player = [playerViewController moviePlayer];
[player play];
}