Question

comme le titre, quand je joue film à l'aide movieplayer Je veux savoir quand le playControllerBar sera destituer, afin que je puisse contrôler mon avis ajouté à movieplayer. Est-ce que quelqu'un sait? Dites-moi, merci.

Était-ce utile?

La solution

Je ne suis pas sûr à 100% si je vous comprends bien. Je suppose que ce que vous voulez faire est:

  1. lire un film
  2. ajouter une vue personnalisée (superposition) au-dessus de la (course) film.

en supposant ce que je viens d'écrire en bas, je pense que vous devez considérer les choses suivantes:

  1. ajouter une superposition personnalisée au-dessus de MPMoviePlayerViewController est (pour autant que je suis concerné) a permis / possible si les commandes du lecteur standard sont réglés sans pareil:

    [moviePlayerViewController.moviePlayer setControlStyle:MPMovieControlStyleNone];
    
  2. ajouter votre superposition personnalisée au-dessus du joueur est fondamentalement la même procédure de addSubview que sur tout autre point de vue

    [moviePlayerViewController.view addSubview:overlay];
    

le code ci-dessus / concept fonctionnera sur 3.2 et plus tard, comme je l'ai lu tout à l'heure que vous développez évidemment pour 3.0

plutôt que de supprimer la première partie de ma réponse, je vais maintenant vous expliquer comment obtenir le même effet sur 3,0

3.0, il est un peu plus compliqué (comme vous le savez que maintenant). MPMoviePlayerController n'est pas une vue du contrôleur et fonctionne uniquement en mode plein écran. Une fois que le film commence à jouer, le keyWindow change ! Nous faisons donc l'utilisation de cette mise en œuvre par ce qui suit:

1) au sein de votre classe qui encapsule le MPMoviePlayerController, commencer à écouter la UIWindowDidBecomeKeyNotification en procédant comme suit:

        [[NSNotificationCenter defaultCenter] addObserver: self 
                                             selector: @selector(keyWindowChanged:) 
                                                 name: UIWindowDidBecomeKeyNotification 
                                               object: nil];

2) withing votre keyWindowChanged: Méthode vous pouvez ajouter votre superposition, la snipplet suivante est exactement comment j'implémenté:

- (void)keyWindowChanged: (id) sender {

//NSLog(@"keyWindowChanged");
[[NSNotificationCenter defaultCenter] removeObserver: self name: UIWindowDidBecomeKeyNotification object: nil];
UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];

[moviePlayerWindow addSubview: overlayController.view];
[overlayController performSelector:@selector(fadeIn)]; 

}

encore une fois, cela ne fonctionne que si le MovieControllMode est en faisant « caché » que:

[newMPController setMovieControlMode: MPMovieControlModeHidden];

J'espère que je pourrais aider.

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