1

アプリの起動時に小さな紹介ビデオを表示する必要があり、スプラッシュ画面も表示する必要があります(DEFAULT.png)。だから私の最初のビューコントローラのviewDidLoadで私はします:

    NSURL * movieUrl = [[NSURL alloc] initFileURLWithPath: [[NSBundle mainBundle] pathForResource:@"movie" ofType:@"mp4"]];
    self.playerController = [[MPMoviePlayerViewController alloc]initWithContentURL:movieUrl];

    //Fit the screen
    self.playerController.view.frame = CGRectMake(0, -20, 320, 480);

    //Hide video controls
    self.playerController.moviePlayer.controlStyle = MPMovieControlStyleNone;

    //Play as soon as loaded
    self.playerController.moviePlayer.shouldAutoplay = YES;


    //Add the video as the first view background
    [self.view addSubview:playerController.moviePlayer.view];

ただし、この実装では、プレーヤービューがビューに追加されると、常に黒いフラッシュが表示されます。ブラックフラッシュを回避する方法はありますか?

4

2 に答える 2

2

firstViewController で playerController を提示するのではなく、appDelegate でこれを処理し、ウィンドウの rootViewController で提示します。

NSURL * movieUrl = [[NSURL alloc] initFileURLWithPath: [[NSBundle mainBundle] pathForResource:@"movie" ofType:@"mp4"]];
self.playerController = [[MPMoviePlayerViewController alloc]initWithContentURL:movieUrl];

//Fit the screen
self.playerController.view.frame = CGRectMake(0, -20, 320, 480);

//Hide video controls
self.playerController.moviePlayer.controlStyle = MPMovieControlStyleNone;

//Play as soon as loaded
self.playerController.moviePlayer.shouldAutoplay = YES;

[self.window.rootViewController presentModalViewController:self.playerController animated:NO];

必ずアニメーションなしで提示してください。

于 2012-08-31T06:38:38.153 に答える
0

アプリが次の行を実行しようとすると画面が黒く点滅するため、これを回避する方法はないと思います。

[self.view addSubview:playerController.moviePlayer.view];

また

[self.window.rootViewController presentModalViewController:self.playerController animated:NO];

ですから、この処刑中にあなたにできることは何もないと思います。

于 2012-09-04T07:46:27.003 に答える