Question

Je dois avoir la possibilité de jouer plus d'une vidéo dans une application.

Malheureusement, la deuxième fois que je presse le jeu, la vidéo apparaît en clignotant.

Je n'utilise que ce code pour jouer vide

  

* NSURL url = [[[NSURL alloc] initFileURLWithPath: [[NSBundle mainBundle] pathForResource: @ "Film" ofType: @ "m4v"]] autorelease];

     

MPMoviePlayerController * F = [[MPMoviePlayerController alloc] initWithContentURL: url];

     

mp.movieControlMode = MPMovieControlModeDefault;

     

[Lecture mp];

     

MoviePlayer = point de fusion;

     

[libération mp];

Quelqu'un peut-il me dire où peut être le problème? Merci d'avance!

Mise à jour 1: Il semble que Apple MoviePlayer exemple a le même problème.

Était-ce utile?

La solution

vous pouvez aussi le faire en réglant le temps de lecture initiale à -1,0 avant d'appeler la fonction de lecture

mp.initialPlaybackTime = -1.0;

Mettre ce code avant ur méthode de jeu est appelé.

Autres conseils

J'ai eu ce problème et résolu en utilisant le système de notification pour exécuter un rappel après la fin de la lecture MPMoviePlayerController, et libérer l'objet de joueur il.

Ajouter une notification avant de jouer le film:

NSURL *url = [[[NSURL alloc]initFileURLWithPath:[[NSBundle mainBundle]pathForResource:@"Movie" ofType:@"m4v"]] autorelease];

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc]initWithContentURL:url];

mp.movieControlMode = MPMovieControlModeDefault;

//***Add this line***
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinished:) name:MPMoviePlayerPlaybackDidFinishNotification object:mp];

[mp play];

Ensuite, ajoutez la méthode de rappel,

-(void)myMovieFinished:(NSNotification*)aNotification
{
    MPMoviePlayerController *moviePlayer = [aNotification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidFinishNotification object:moviePlayer];
    [moviePlayer release];
}

Il coud que la seule solution est ... de faire l'application pour 3.1

Je trouve aussi fonctionner sur le système d'exploitation 3.1 ou version ultérieure du simulateur peut être joué well.It ne semble blinking.But quand j'ajoute

initialPlaybackTime = -1.0

il sera également bien jouer sur OS 3.0.

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