Код ниже более или менее взят из примера кода MPMoviePlayerController.В приложении, которое я написал в прошлом году, оно без проблем воспроизводило видео в полноэкранном режиме.Начиная с iOS 4.0, в фоновом режиме есть только звук.Это похоже на то, что у плеера нет вида, или вид скрывается за моим приложением.Я по-прежнему могу взаимодействовать с моим приложением, даже «запускать» новое видео (только аудио).
Это похоже на то, что проигрыватель фильмов теперь нуждается в просмотре, но я не вижу способа предоставить это в APIили пример кода (который, кажется, имеет версию или две позади.
Я загружаю свои видео с URL, и если я набираю их в Safari, они воспроизводятся просто отлично.
Вотсоответствующие фрагменты кода, для чего это стоит:
- (void)playMovieUrl:(NSURL*)url
delegate:(id)delegate
callbackSelector:(SEL)selector
{
@try {
movieFinishedCallbackDelegate = delegate;
movieFinishedCallbackSelector = selector;
movieURL = url;
MPMoviePlayerController* theMovie=[[MPMoviePlayerController alloc] initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(myMovieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:theMovie];
[theMovie play];
}
@catch (NSException * e) {
return;
}
}
// When the movie is done,release the controller.
-(void)myMovieFinishedCallback:(NSNotification*)aNotification
{
MPMoviePlayerController* theMovie=[aNotification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:theMovie];
[theMovie release];
[movieURL release];
[movieFinishedCallbackDelegate performSelector:movieFinishedCallbackSelector];
}