0

私のアプリは、Ios5 以降のバージョンで動作する必要があります。MPMoviePlayerViewController を mainWindow に追加しています ボタンをクリックすると、moviePlayerController の [完了] ボタンがウィンドウから moviePlayerController を削除していません。

私のコードは

    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                     pathForResource:@"001 ATSW" ofType:@"m4v"]];
   self.player =  [[MPMoviePlayerViewController alloc]
                initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self         selector:@selector(videoPlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];

[self.player.view setFrame:[UIScreen mainScreen].bounds];
[[[UIApplication sharedApplication] keyWindow] addSubview:self.player.view];
[[self.player moviePlayer] play];
  }
 -(void)videoPlayBackDidFinish:(NSNotification*)notification  {

  [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:nil];

[self.player.moviePlayer stop];
self.player = nil;
[self.player.view removeFromSuperview];
  }

完了ボタンをクリックして moviePlayerController を削除する方法。

助けてください。

4

2 に答える 2

0

おそらくあなたがする必要があるのは、実際に

presentMoviePlayerViewControllerAnimated:(MPMoviePlayerViewController *)playerVC

メソッドを使用して MPMoviewPlayerViewController を表示し、ビューを直接挿入しません。完了ボタンを押すと、 MPMoviewPlayerViewController が自分自身を閉じようとしているためです。そして、私が見る限り、それを聞いて、映画が終わったときのようにそれを行う良い方法はありません.

アプリの構築方法に依存する場合がありますが、次のようなものがあります

[[[[UIApplication sharedApplication] keyWindow] rootViewController] presentMoviePlayerViewControllerAnimated:player];

ビューを手動で挿入するためにすべてのコードを置き換えてから、

[[[[UIApplication sharedApplication] keyWindow] rootViewController] dismissMoviePlayerViewControllerAnimated];
于 2013-02-08T13:45:01.273 に答える
0

ドキュメントに記載されているように:

モーダルに表示されたムービー プレーヤー ビュー コントローラーを閉じるには、dismissMoviePlayerViewControllerAnimatedメソッドを呼び出します。

Apple が事前に構成した他のコントローラー (メール作成コントローラーやイメージ ピッカー コントローラーなど) と同様に、ユーザーはコントローラーを破棄する必要があります。

于 2013-02-08T13:26:43.040 に答える