J'utilise MPMoviePlayerController
, comment puis-je détecter quand le film a réellement commencé à jouer - par opposition à quand l'utilisateur tripote les commandes de recherche? A partir des tests que j'ai faits, j'ai toujours un événement "load state change" et (moviePlayer.loadState == MPMovieLoadStatePlayable)
est TRUE
à chaque fois que le film démarre ET après que l'utilisateur a fait glisser le contrôle de recherche (même s'il l'a fait glisser de la fin au milieu - pas nécessairement le début du film). Comment faire la distinction entre film-start et seek?Comment détecter MPMoviePlayerController démarre un film?
Répondre
MPMoviePlaybackState
Constants describing the current playback state of the movie player.
enum {
MPMoviePlaybackStateStopped,
MPMoviePlaybackStatePlaying,
MPMoviePlaybackStatePaused,
MPMoviePlaybackStateInterrupted,
MPMoviePlaybackStateSeekingForward,
MPMoviePlaybackStateSeekingBackward
};
typedef NSInteger MPMoviePlaybackState;
Inscrivez-vous au MPMoviePlayerPlaybackStateDidChangeNotification
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(MPMoviePlayerPlaybackStateDidChange:)
name:MPMoviePlayerPlaybackStateDidChangeNotification
object:nil];
Vérifiez dans cette fonction MPMoviePlaybackState
- (void)MPMoviePlayerPlaybackStateDidChange:(NSNotification *)notification
{
if (player.playbackState == MPMoviePlaybackStatePlaying)
{ //playing
}
if (player.playbackState == MPMoviePlaybackStateStopped)
{ //stopped
}if (player.playbackState == MPMoviePlaybackStatePaused)
{ //paused
}if (player.playbackState == MPMoviePlaybackStateInterrupted)
{ //interrupted
}if (player.playbackState == MPMoviePlaybackStateSeekingForward)
{ //seeking forward
}if (player.playbackState == MPMoviePlaybackStateSeekingBackward)
{ //seeking backward
}
}
notification Supprimer par
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
Se référer: MPMoviePlaybackState
cela détecte également la reprise d'un état de pause - pas seulement lorsque le film commence réellement. –
@ sagimann- voir mes mises à jour ans –
Pourquoi est-ce pas la bonne réponse? – Pier
Pour rapide
Ajouter observateur
let defaultCenter: NSNotificationCenter = NSNotificationCenter.defaultCenter()
defaultCenter.addObserver(self, selector: "moviePlayerPlaybackStateDidChange:", name: MPMoviePlayerPlaybackStateDidChangeNotification, object: nil)
Fonction
func moviePlayerPlaybackStateDidChange(notification: NSNotification) {
let moviePlayerController = notification.object as! MPMoviePlayerController
var playbackState: String = "Unknown"
switch moviePlayerController.playbackState {
case .Stopped:
playbackState = "Stopped"
case .Playing:
playbackState = "Playing"
case .Paused:
playbackState = "Paused"
case .Interrupted:
playbackState = "Interrupted"
case .SeekingForward:
playbackState = "Seeking Forward"
case .SeekingBackward:
playbackState = "Seeking Backward"
}
print("Playback State: %@", playbackState)
}
- 1. MPMoviePlayerController "Chargement du film ..."
- 2. MPMoviePlayerController film plein écran dans un UIWebView
- 3. Contrôle MPMoviePlayerController visible au démarrage du film
- 4. lire mp4 film avec MPMoviePlayerController xamarin ios
- 5. MPMoviePlayerController ne charge pas le film
- 6. MPMoviePlayerController ne se charge pas de film
- 7. Comment détecter les secousses pendant la lecture d'un film?
- 8. Empêche les contrôles MPMoviePlayerController de s'afficher lorsque la vidéo démarre
- 9. Comment afficher le message "Chargement du film ..." avec MPMoviePlayerController
- 10. Comment pré-charger mon film avant de le jouer (MPMoviePlayerController)
- 11. Comment détecter un film préchargé/a échoué sur iOS4?
- 12. Comment lire un film sur iOS
- 13. Pourquoi mon film ne joue-t-il pas avec MPMoviePlayerController?
- 14. MPMoviePlayerController ne lit pas le film choisi de UIImagePickerController
- 15. Problème MPMoviePlayerController lors de la lecture d'un film
- 16. Afficher l'image de la première image du film dans MPMoviePlayerController avant de lire le film
- 17. Comment puis-je détecter CODEC dans MPMoviePlayerController dans iphone-sdk
- 18. Comment jouez-vous un film dans une application iphone?
- 19. Comment remplacer un film Flash avec un film QuickTime?
- 20. Comment remplacer un film un film dans flash - jeu d'habillage
- 21. Supprimer MPMoviePlayerController
- 22. Ajouter un MPMoviePlayerController en mode plein écran?
- 23. MPMoviePlayerController - Reprendre automatiquement sur un casque branché
- 24. Comment puis-je arrêter de lire un film?
- 25. Écran noir lorsque vous essayez de lire un film à partir d'un film
- 26. détecter quand l'utilisateur démarre l'enregistrement vidéo
- 27. Inverser un MPMoviePlayerController
- 28. MPMoviePlayerController bégayer
- 29. J'ai un problème avec MPMoviePlayerController [iPhone SDK]
- 30. Existe-t-il un exemple de film en ligne pour tester MPMoviePlayerController?
Peut-être que [ce] (https://developer.apple.com/library/ ios/documentation/mediaplayer/reference/MPMoviePlayerController_Class/Référer/Reference.html #// apple_ref/doc/c_ref/MPMoviePlaybackState) aide? – AlexR
vérifier cela http://stackoverflow.com/questions/5787394/find-out-if-mpmovieplayercontroller-is-currently-playing – karthika