Как вы играете фильм в приложении для iPhone? - PullRequest
0 голосов
/ 27 апреля 2011

Я хочу добавить фильм в начале моего приложения для iphone. Я смотрел учебники, и это код, который я придумал. Почему это не сработает. Я даже не вижу кино. Я вызываю его из функции viewDidLoad моего ViewController со следующим кодом:

NSString *path = [[NSBundle mainBundle] pathForResource:@"BTS Intro" ofType:@"mov"];
[self playMovieAtURL:[NSURL fileURLWithPath:path

-(void)playMovieAtURL:(NSURL *)theURL {
MPMoviePlayerController *thePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theURL];
thePlayer.scalingMode = MPMovieScalingModeAspectFill;
thePlayer.controlStyle = MPMovieControlStyleNone;

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:thePlayer];
[thePlayer play];
}

-(void)myMovieFinishedCallback:(NSNotification *)aNotification {
MPMoviePlayerController *thePlayer = [aNotification object];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:thePlayer];
[thePlayer release];
}

1 Ответ

2 голосов
/ 27 апреля 2011

Вы инициировали воспроизведение фильма, но не добавили [представление «Игрок»] в иерархию представлений, поэтому вы ничего не видите. Посмотрите на описание этой операции в Apple Docs:

Когда вы добавляете представление проигрывателя фильмов в иерархию представлений вашего приложения, убедитесь, что размер кадра соответствует правильному, как показано здесь:

MPMoviePlayerController *player =
        [[MPMoviePlayerController alloc] initWithContentURL: myURL];
[player.view setFrame: myView.bounds];  // player's frame must match parent's
[myView addSubview: player.view];
// ...
[player play];

Справочник по классам MPMoviePlayerController

...