MPMoviePlayerController, вызывающий MP _playbackInterruptionDidEndNotification для appDidBecomeActive - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть контроллер навигации, который выдвигает другой вид, который воспроизводит видеофайлы. Все работает нормально и на симуляторе проблем нет вообще. Проблема в том, что когда я тестирую приложение на iPhone, фильмы воспроизводятся хорошо, но если я нажимаю кнопку «Домой» на iPhone, то я снова запускаю приложение и получаю следующее предупреждение в области отладки Xcode:

2011-11-21 20: 23: 05.216 КМВ [324: 707] MP _playbackInterruptionDidEndNotification :: NSConcreteNotification 0x164e90 {name = AVController_PlaybackInterruptionDidEndNotification; объект =; userInfo = { "AVController_InterruptionStatusNotificationParameter" = "non-resumable.SoloAmbientSound"; "AVController_InterruptorNameNotificationParameter" = "AudioSession-324"; }}, _state = 0

Хотя это предупреждение появляется, я могу продолжать использовать приложение и смотреть фильмы без каких-либо проблем, но я боюсь, что в определенной ситуации это предупреждение вызывает проблему. Вот как я настраиваю представление для воспроизведения фильмов:

- (void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    NSString *path = [[NSBundle mainBundle] pathForResource:@"movieFileName" ofType:@"m4v"];
    movieURL = [NSURL fileURLWithPath:path];
    self.moviePlayer = [[[MPMoviePlayerController alloc] initWithContentURL:movieURL] autorelease];

    [self.view addSubview:moviePlayer.view];
    moviePlayer.view.frame = CGRectMake(0, 10, 320, 181);
    [moviePlayer setControlStyle:MPMovieControlStyleNone];
    [moviePlayer play];
}

- (void) viewWillDisappear:(BOOL)animated
{
    [moviePlayer stop];
    [moviePlayer.view removeFromSuperview];
}

- (void)dealloc
{
    [movieURL release];
    [moviePlayer release];
    [super dealloc];
}

Есть идеи по поводу этого странного предупреждения?

...