4

Xcodeのサンプルコードを使用して、iPhoneSimulator5.1でmp4ビデオを再生しようとしています。MPMovieViewControllerとMPMovieControllerの両方を作成し、mp4を含むローカルパスを指定して、ルートコントローラーにサブビューとして追加しました。

iPhoneシミュレーターで実行すると、背面画面のみが表示されます。SOで同じ問題のいくつかの提案を試しましたが、それでも機能しません。

コードは次のとおりです。

    NSURL *myURL = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:@"VIDEO_CX75_01" ofType:@"mp4"]];

    MPMoviePlayerViewController *moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:myURL];        
    MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL: myURL];

    [self presentMoviePlayerViewControllerAnimated:moviePlayerViewController];

    [player.view setFrame: self.view.bounds];  // player's frame must match parent's
    [self.view addSubview: player.view];
    player.view.frame = self.view.frame;

    player.initialPlaybackTime = -1.0;
    [player prepareToPlay];
    [player play];

私はそれを間違っているところですか?

PS:私はXcode4.3.2を使用しています

4

2 に答える 2

16

私は同じ問題を抱えていました。私がしたことは、プレーヤーを強力なプロパティにして合成しました。出来た。

あなたのケースでもうまくいくはずです。

于 2012-05-03T20:02:12.800 に答える
0

MPMoviePlayerViewController どちらか 一方を決定して使用しますMPMoviePlayerControllerが、両方を使用することはできません。

NSURL *myURL = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:@"VIDEO_CX75_01" ofType:@"mp4"]];
MPMoviePlayerViewController *moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:myURL];        
[self presentMoviePlayerViewControllerAnimated:moviePlayerViewController];

また

NSURL *myURL = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:@"VIDEO_CX75_01" ofType:@"mp4"]];
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL: myURL];
player.view.frame = self.view.bounds;
[self.view addSubview:player.view];
player.initialPlaybackTime = -1.0;
[player prepareToPlay];
[player play];
于 2012-04-26T21:50:15.200 に答える