10
votes

Découvrez si MPMoviePlayPonTroller est en cours de lecture

J'ai un petit problème concernant MPMoviePlayController, j'ai un lien qui joue un film lorsque je clique sur ce bouton vidéo, toutefois, lorsque je clique sur un autre bouton, l'application est écrasée, j'ai besoin de trouver comment identifier ce film joue ou Obtenir une sorte de réponse


2 commentaires

Les journaux de code et / ou de collision aideraient.


ok laissez-moi changer la question que j'ai un film en cours d'exécution sur iPhone Simulator, j'ai besoin de trouver dans une autre fonction que le film Wheater joue ou non


6 Réponses :


2
votes

0 commentaires

21
votes

Pour développer la réponse de @ Saurabh, vous pouvez vérifier si la vidéo joue par xxx

mpmovieplaybackstate est défini comme xxx < / pré>


1 commentaires

En Swift pour accéder à l'énumération mentionnée ci-dessus, utilisez mpmovieplaybackstate.play - voir ma réponse complète ci-dessous.



5
votes

Il y a deux parties, généralement utilisées en combinaison;

Inscrivez-vous pour le MPMoviePlayerplayBackBackSatedChangenotification E.G. Comme ceci: xxx

dans le gestionnaire de notification, vous pouvez ensuite vérifier en détail pour l'état actuel - par exemple. Comme ceci: xxx

Vous pouvez certainement utiliser la propriété de lecture de lecture sans gérer la notification qui les signale. Néanmoins, dans la plupart des cas, c'est le bon endroit pour le faire.

Lorsque vous retirez / tuez votre lecture de film, n'oubliez pas de supprimer le gestionnaire de notification, par exemple. Comme ceci: xxx


0 commentaires

2
votes

Swift Le moyen de mettre en œuvre la réponse de @ zkv7 est la suivante: xxx

où le mpmovieplaybackstate Enum est: xxx

voir Apple Docs pour plus d'informations sur le mpmovieplayPontroller.


0 commentaires

0
votes

Pour vérifier le lecteur vidéo est en état de lecture ou non dans Swift STROR>

@IBAction func btnPressPlay(sender: AnyObject) {
        if videoPlayerViewController.moviePlayer.playbackState == MPMoviePlaybackState.Playing
        {
            self.videoPlayerViewController.moviePlayer.stop()
        }
        else {
            self.videoPlayerViewController.moviePlayer.play()
        }
    }


0 commentaires

0
votes
typedef NS_ENUM(NSInteger, AVPlayerTimeControlStatus) {
    AVPlayerTimeControlStatusPaused,
    AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate,
    AVPlayerTimeControlStatusPlaying
} NS_ENUM_AVAILABLE(10_12, 10_0);


if(self.player.timeControlStatus == AVPlayerTimeControlStatusPlaying)
{
  // is Playing
}

0 commentaires