0

YouTube リンクを含む Web ビューを 1 つ追加しました。ユーザーが viedo を再生すると、デフォルトで iOS ムービー プレーヤーが開きます。そのムービー プレーヤーが全画面表示になったとき、または再生が停止したときの通知を追跡したいと考えています。MPMoviewPlayerController によって生成されたすべての通知を試しました。それらのどれも解雇されていません。MPMoviewPlayerViewCotntroller オブジェクトをインスタンス化し、そこから MPMoviewPlayer を提示した場合にのみ発火します。

4

1 に答える 1

3

それは、内部の Youtube ビデオUIWebViewMPMoviewPlayerViewCotntroller.

iOS7 の場合:

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

iOS8 では、これらのイベントがなくなっているため、少し問題があり、次のようにオブザーバーを追加する必要があります。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ios8EnterFullscreen:)
                                             name:UIWindowDidBecomeVisibleNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ios8ExitFullscreen:)
                                             name:UIWindowDidBecomeHiddenNotification object:nil];

そして、起動時に実際にムービー プレーヤーであることを確認します (UIAlertView などでも起動するため)。

- (void)ios8EnterFullscreen:(NSNotification *)notification
{
    if ([notification.object isMemberOfClass:[UIWindow class]])
    {
         //do your thing...
    }
}
于 2015-02-20T12:48:10.190 に答える