0

ビデオをフル スクリーンで再生することはできましたが、(iPad の) ウィンドウで再生しようとすると、ビデオ コントロールは常にロード中と表示されます。

私がやりたいことは、viewDidLoad が呼び出されるとすぐにビデオを自動的に再生してループすることです。

これまでの私のコードは次のとおりです..

NSString *url = [[NSBundle mainBundle]
                 pathForResource:@"Test"
                 ofType:@"mp4"];

MPMoviePlayerViewController *player =
[[MPMoviePlayerViewController alloc]
 initWithContentURL:[NSURL fileURLWithPath:url]];

[[NSNotificationCenter defaultCenter]
 addObserver:self
 selector:@selector(movieFinishedCallback:)
 name:MPMoviePlayerPlaybackDidFinishNotification
 object:player];

player.view.frame = CGRectMake(500, 400, 200, 200);
[self.view addSubview:player.view];

//---play movie---

[player.moviePlayer play];
player = nil;

誰でも解決策を提供できますか?

4

3 に答える 3

0

まだ解決策を探しているかどうかはわかりませんが、私にとってはうまくいったのは次のとおりです。

ビデオのコンテナとして使用する を作成UIViewし、ビデオのサイズを指定します。ビューのフレームを設定しますが、 のフレームも設定する必要があるようですmovieplayer

次に、プレーヤーにいくつかの追加の修飾子が必要です。

UIView *movieView = [[UIView alloc] initWithFrame:CGRectMake(500, 400, 200, 200)];

player.view.frame = CGRectMake(0, 0, 253, 175);
player.moviePlayer.shouldAutoplay = YES;
player.moviePlayer.controlStyle = MPMovieControlStyleEmbedded;

[self.view addSubview:movieView];

[movieView addSubview:mpviewController.view];

コントロールにコントロールを設定しないとMPMovieControlStyleEmbedded、巨大に表示されます。200 x 200 の実際のビデオよりも大きいサイズでMPMovieControlStyleHiddenも機能します。

于 2013-04-15T17:54:46.993 に答える
0

player.play ステートメントを viewWillAppear に入れると、これが機能することがわかりました。

于 2012-10-09T21:32:17.587 に答える