1

私は約 1 週間、いくつかのコードと格闘してきました。他の誰かがこの問題を経験したことがあり、正しい方向に向けることができることを願っています。

を使ってMPMoviePlayerViewControlleriPadで動画を再生しています。主な問題は、iPad シミュレーターでは問題なく動作しますが、iPad ではまったく再生されないことです。問題がないことを確認するために、ビデオを再エンコードしようとしました。私が現在使用しているビデオは、H.264 ベースライン 3.0 と AAC/LC オーディオでエンコードされた 480x360 ビデオです。ビデオは iPhone で正常に再生され、iPad の Safari でも再生されます。ビデオが実際に読み込まれ、スクラバー バーでビデオをスクラブして、そこにあることを確認できます。フレームは実際に表示されますが、再生されません。再生をクリックすると、すぐに停止します。設定した場合でもmp.moviePlayer.shouldAutoplay=YES、プレーヤーが再生しようとしているのを見ることができますが、ほんの一瞬 (おそらく 1 フレーム?) だけです。

次のコードでビューを追加しようとしました:

in .h
------
MPMoviePlayerViewController          *vidViewController;
@property (readwrite, retain)     MPMoviePlayerViewController *vidViewController;

in .m
------

MPMoviePlayerViewController *mp=[[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:videoURL]];
[mp shouldAutorotateToInterfaceOrientation:YES];
mp.moviePlayer.scalingMode=MPMovieScalingModeAspectFit;
mp.moviePlayer.shouldAutoplay=YES;
mp.moviePlayer.controlStyle=MPMovieControlStyleFullscreen;
[videoURL release];


self.vidViewController = mp;
[mp release];

[self.view addSubview:vidViewController.view];

float w = self.view.frame.size.width;
float h = w * 0.75;

self.vidViewController.view.frame = CGRectMake(0, 0, w, h);

私もやろうとしました:

[self presentMoviePlayerViewControllerAnimated:self.vidViewController];

実際には適切に向きを合わせることができません...常に縦向きに表示され、下部の画面からほぼ完全に外れており、アプリは横向きビューのいずれかでのみ実行することを目的としています...

さらに情報が必要な場合は、お知らせください。私はこれで頭がいっぱいです。どんな助けでも大歓迎です。

4

3 に答える 3

2

ここに 2 つの問題があります。

まず、ビューのフレームを設定していません。追加してみる

mp.view.frame = self.view.frame;

これが私のためにそれを修正したものです。

NextshouldAutorotateToInterfaceOrientationを呼び出す必要はありません。このメソッドは、ビューが方向をサポートしているかどうかを単純に通知します。アップルのドキュメントを確認してください。

于 2010-06-30T11:32:41.363 に答える
1

iPad をシャットダウン (電源オフ) し、アプリを削除して再インストールしてみてください。

于 2010-05-07T21:12:02.247 に答える
0

Just add a line after you add the movie player to the view:

[self.vidViewController.moviePlayer play];

See if it helps.

Thanks,

Madhup

于 2010-05-08T10:17:47.753 に答える