0

次のコードを使用して、iOS6 を実行している iPad 1 でムービーを再生しています。

    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"myMovie.mov" ofType:@""]];
    self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];

    // Register to receive a notification when the movie has finished playing.
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(moviePlayBackDidFinish:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:self.moviePlayer];

    // Use the new 3.2 style API
    self.moviePlayer.controlStyle = MPMovieControlStyleDefault;

    [self.moviePlayer prepareToPlay];

    self.moviePlayer.view.frame = CGRectMake(0, 0, 1024, 768);

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

     //[self.moviePlayer setFullscreen:YES animated:YES];

     [self.moviePlayer play];

これは機能します。

ただし、の行のコメントを外すとsetFullscreen、映画の音声は聞こえますが、画面が完全に黒くなり、画像が表示されません。

playいくつかの行、特に呼び出しと呼び出しの順序を変更しようとしましたが、setFullscreen効果はありませんでした。

アップデート

この質問は直接関連しているようです:

MPMoviePlayerController の全画面表示の問題 (空白の黒い画面が表示される)

4

2 に答える 2

0

私のために働くのでこれを使用してください:

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"myMovie" ofType:@"mov"]];
MPMoviePlayerViewController *movieView = [[MPMoviePlayerViewController alloc]initWithContentURL:url];
movieView.moviePlayer.scalingMode =  MPMovieScalingModeFill;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
        [movieView.moviePlayer.view setFrame:CGRectMake(0,0,480,320)];
else
        [movieView.moviePlayer.view setFrame:CGRectMake(0,0,1024,768)];
movieView.moviePlayer.view.userInteractionEnabled = FALSE;
movieView.moviePlayer.controlStyle=0;
[movieView setFullscreen:YES];
self.view=movieView.view;
于 2012-09-28T10:43:20.110 に答える
0

まず、この行
[[NSBundle mainBundle] pathForResource:@"myMovie.mov" ofType:@""]を : に変更して
[[NSBundle mainBundle] pathForResource:@"myMovie" ofType:@"mov"]、もう一度やり直してください

于 2012-09-28T10:35:09.540 に答える