Domanda

ho bisogno di avere la possibilità di giocare più di un video in un app.

Purtroppo, la seconda volta che si preme play, il video appare lampeggiante.

Io uso solo il codice per il gioco vide

  

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

     

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

     

mp.movieControlMode = MPMovieControlModeDefault;

     

[mp play];

     

MoviePlayer = mp;

     

[rilascio mp];

Qualcuno può dirmi dove può essere il problema? Grazie in anticipo!

UPDATE 1: Sembra che Apple MoviePlayer esempio ha lo stesso problema.

È stato utile?

Soluzione

è anche possibile farlo impostando il tempo di riproduzione iniziale per -1.0 prima di chiamare la funzione di riproduzione

mp.initialPlaybackTime = -1.0;

Mettete questo codice prima ur metodo di riproduzione viene chiamato.

Altri suggerimenti

Ho avuto questo problema e risolto utilizzando il sistema di notifica per eseguire un callback dopo finisce la MPMoviePlayerController giocare, e rilasciando l'oggetto lettore lì.

Aggiungi una notifica prima di giocare il filmato:

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];

Quindi aggiungere il metodo di callback,

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

E cuciture che l'unica soluzione è ... di rendere l'applicazione per 3.1

Trovo anche eseguito sul sistema operativo 3.1 o versione successiva di simulatore può essere giocato well.It non appare blinking.But quando aggiungo

initialPlaybackTime = -1.0

sarà anche giocare bene su OS 3.0.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top