4

で(YouTube経由で)再生するビデオを開始しようとするとUIWebView、ビデオが開き、デバッガーは次のように表示します。

[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)

同様の質問があります:MPMoviePlayerControllerは数秒後に再生を停止します

私の唯一の問題は、でUIWebView、を設定できないMPMoviePlayerControllerことprepareToPlayです。少なくとも私の知識の限りではありません。誰かがこの問題を解決するのを手伝ってくれるなら、それは素晴らしいことです!

4

2 に答える 2

13

iOS 6でも同様の問題に直面しました。この背後にある理由は、iOS6バージョン以外のバージョンでYouTubeビデオを再生すると、viewWillDisappearメソッドが呼び出されないためです。ただし、iOS6では、このメソッドはYouTubeビデオが再生されるたびに呼び出されます。OSレベルのバグかもしれませんが、よくわかりません。

ただし、修正しました。手順は以下のとおりです。

フルスクリーンのエントリと終了の通知を追加し、ブール値のプロパティを使用して、それに応じて更新します。

// Notification when the player moves to full screen

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(youTubeVideofullScreen:) name:@"UIMoviePlayerControllerDidEnterFullscreenNotification" object:nil];

// Notification when the player exit from full screen.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(youTubeVideoExit:) name:@"UIMoviePlayerControllerDidExitFullscreenNotification" object:nil];
 - (void)youTubeVideofullScreen:(id)sender {
      //Update flag.
      isFullscreen = TRUE;
 }

 - (void)youTubeVideoExit:(id)sender {
        //Update flag.
        isFullscreen = FALSE;
  }

 - (void)viewWillDisappear:(BOOL)animated {
    //Now you can use that flag and avoid the code execution which is interrupting the video
    
      if(!isFullscreen) {
       [super viewWillDisappear:animated]; 

       }
  }

お役に立てば幸いです。

于 2012-10-11T06:08:10.430 に答える
4

私たちのアプリの1つでこれとまったく同じ問題が発生しました。UIWebViewのHTMLをで空の文字列に設定していたことがわかりました-(void)viewWillDisappear。どうやら、このメソッドはiOS 6でからフルスクリーンビデオを表示するときに呼び出されるUIWebViewようになっているので、おそらくそれが問題の原因です。

于 2012-10-10T18:42:21.040 に答える