MPMoviePlayerController работает в симуляторе, но не на устройстве - PullRequest
2 голосов
/ 23 марта 2012

У меня есть MPMoviePlayerController, который транслирует видео. Проблема в том, что видео и аудио нормально работают в симуляторе, но на устройстве вид просто становится черным, а звук или видео не выходят. Вот мой код:

- (IBAction)playVideoPress:(id)sender
{
    MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:mediaURL];

    _mpPlayer3 = player;

    [[NSNotificationCenter defaultCenter]
         addObserver:self
         selector:@selector(moviePlayerDidFinish:)
         name:MPMoviePlayerPlaybackDidFinishNotification
         object:nil];

    _mpPlayer3.controlStyle = MPMovieControlStyleDefault;
    [_playerView3 addSubview: _mpPlayer3.view];
    [_mpPlayer3.view setFrame:_playerView3.bounds];

    [_mpPlayer3 play];
}

Тогда уведомление, когда видео заканчивается:

- (void)moviePlayerDidFinish:(NSNotification*)notification {
    [[NSNotificationCenter defaultCenter]
     removeObserver:self
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:nil];

    NSLog(@"Did Finish Notification");

    [_mpPlayer3 stop];

    _mpPlayer3 = nil;
}

Это прекрасно работает в симуляторе, но просто показывает черный экран в виде, в котором я хочу отобразить видео. Еще одна странная вещь, которая случается, заключается в том, что когда я запускаю его в симуляторе, я получаю кучу ошибок, таких как как:

Error loading /System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn:  dlopen(/System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn, 262): Symbol not found: ___CFObjCIsCollectable

Я не знаю, имеет ли это какое-либо отношение к симулятору, воспроизводящему видео, и к устройству, но я подумал, что упомяну это здесь.

...