J'utilise MPMoviePlayerViewController
pour lire le flux vidéo du serveur, tout le reste fonctionne bien. Mon problème est que quand je joue la vidéo, elle joue automatiquement et passe à l'état de pause automatiquement si aucun contenu jouable n'est disponible, et ne joue pas après avoir chargé le contenu.MPMoviePlayer s'arrête automatiquement en streaming
movieController = [[MPMoviePlayerViewController alloc] init];
movieController.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;
[movieController.moviePlayer setContentURL:mediaURL];
[movieController.moviePlayer prepareToPlay];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];
[movieController.moviePlayer setControlStyle:MPMovieControlStyleFullscreen];
[movieController.moviePlayer setFullscreen:YES];
[movieController.moviePlayer setShouldAutoplay:YES];
[movieController.moviePlayer play];
[self presentMoviePlayerViewControllerAnimated:movieController];
Ceci est mon code utilisé pour lire la vidéo à partir de l'URL donnée avec mediaURL
. J'ai essayé d'ajouter MPMoviePlayerPlaybackStateDidChangeNotification
pour vérifier l'état a changé à MPMoviePlaybackStatePaused
, son fonctionne également bien. Également vérifié MPMovieLoadState
avec MPMovieLoadStatePlaythroughOK
en utilisant MPMoviePlayerLoadStateDidChangeNotification
le problème est que ne pas obtenir le MPMovieLoadStatePlaythroughOK
après pause automatiquement. This link
Aussi est-il possible d'obtenir le bouton de pause autre que MPMoviePlayerPlaybackStateDidChangeNotification
, car la notification est également déclenchée pour d'autres raisons.