Question

Lorsque vous utilisez le MPMoviePlayerController, le bouton de lecture est entouré de boutons « Suivant » et « Précédent ».

Comment puis-je obtenir des notifications quand on clique dessus? est-il un moyen de nourrir MPMoviePlayerController une liste (tableau) de contenu?

Était-ce utile?

La solution

Nathan est correct d'avoir besoin de mettre en œuvre votre propre interface utilisateur pour le joueur si vous souhaitez que les notifications de bouton. Vous pouvez recevoir des notifications du lecteur sur l'état de lecture bien.

de l'exemple AddMusic, où l'auto est le contrôleur ou le modèle contenant l'instance de MPMusicPlayerController:

- (void) registerForMediaPlayerNotifications {

    NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];

    [notificationCenter addObserver: self
                           selector: @selector (handle_NowPlayingItemChanged:)
                               name: MPMusicPlayerControllerNowPlayingItemDidChangeNotification
                             object: musicPlayer];

    [notificationCenter addObserver: self
                           selector: @selector (handle_PlaybackStateChanged:)
                               name: MPMusicPlayerControllerPlaybackStateDidChangeNotification
                             object: musicPlayer];

    /*
     // This sample doesn't use libray change notifications; this code is here to show how
     //     it's done if you need it.
     [notificationCenter addObserver: self
     selector: @selector (handle_iPodLibraryChanged:)
     name: MPMediaLibraryDidChangeNotification
     object: musicPlayer];

     [[MPMediaLibrary defaultMediaLibrary] beginGeneratingLibraryChangeNotifications];
     */

    [musicPlayer beginGeneratingPlaybackNotifications];
}

Autres conseils

Aucune notification sont générés lorsque l'utilisateur appuie sur les boutons suivant / précédent (vous devez déposer un bogue à ce sujet), la seule façon de résoudre cela sans aucune vue-crawling est de mettre en œuvre votre propre point de vue de superposition vidéo non approuvée:

MPMoviePlayerController* moviePlayer = [[MPMoviePlayerController alloc]
    initWithContentURL:someUrl];
moviePlayer.movieControlMode = MPMovieControlModeHidden;
[moviePlayer play];

NSArray* windows = [[UIApplication sharedApplication] windows];
if ([windows count] > 1) {
  UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];
  [moviePlayerWindow addSubview:yourCustomOverlayView];
}

Pas idéal, mais les commandes standard sont assez faciles à réimplémenter.

Je ne pense pas que vous avez beaucoup de contrôle sur la MPMoviePlayerController. Il est un composant standard qui peut en principe démarrer et arrêter la lecture d'un film et rien d'autre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top