0

これらの各ページに16個のボタンがあるSpringboardのような水平スクロールビューがあります。ボタンをクリックすると、ビデオを再生するMPMoviePlayerControllerのみが表示され、ビデオアプリケーションで映画を視聴している場合のように他には何も表示されません。したがって、私は次のコードを持っています:

- (void)button: (id) sender {
    NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"video" ofType:@"MOV"];
    NSURL *videoURL = [NSURL fileURLWithPath:moviePath];
    MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(moviePlaybackComplete:)
                                             name:MPMoviePlayerPlaybackDidFinishNotification
                                           object:moviePlayerController];

    moviePlayerController.fullscreen = YES;

    [self.view addSubview:moviePlayerController.view];
    [moviePlayerController play];
}

- (void)moviePlaybackComplete:(NSNotification *)notification
{
    MPMoviePlayerController *moviePlayerController = [notification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                name:MPMoviePlayerPlaybackDidFinishNotification
                                              object:moviePlayerController];

    [moviePlayerController.view removeFromSuperview];
    [moviePlayerController release];
}

残念ながら、私は音を聞くことしかできず、ビデオは表示されません。誰か助けてもらえますか?

更新:フレームを作成する必要があることがわかりました。次のコードを使用しました。

[moviePlayerController.view setFrame:CGRectMake(0, 0, 768, 1004)];

しかし、それはそのように全画面表示ではありません。フルスクリーンプロパティをYESに設定した場合でも。ビューの上部ではなく下部にビデオコントロールがないため、これを確認できます。

4

1 に答える 1

0

私は解決策を見つけました。次のコードを使用する必要があります。

NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"MOV"];
NSURL *videoURL = [NSURL fileURLWithPath:moviePath];
MPMoviePlayerViewController *playerView = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];

[self presentModalViewController:playerView animated:YES];
于 2012-08-30T19:54:57.570 に答える