2010-11-30 9 views
0

Je développe une application basée sur le balayage. Sur chaque coup, une page apparaîtra contenant une vidéo avec un autre élément. J'utilise le code suivant pour faire ceci pour moi sur chaque coup.Problème de chargement vidéo iPad

NSArray * file = [videoFile componentsSeparatedByCharactersInSet: [NSCharacterSet characterSetWithCharactersInString: @ "."]];

NSString *moviePath = [[NSBundle mainBundle] pathForResource:[file objectAtIndex:0] ofType:[file objectAtIndex:1]]; 

    if (moviePath != nil) 
    { 
     //self.videoTimer = [NSTimer scheduledTimerWithTimeInterval:delayTime target:self selector:@selector(playVideo:) userInfo:nil repeats:NO]; 
     self.theMovie = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:moviePath]]; 
     self.theMovie.view.frame = self.bounds; 
     self.theMovie.moviePlayer.scalingMode = MPMovieScalingModeAspectFit; 
     self.theMovie.moviePlayer.controlStyle = MPMovieControlStyleNone; 
     self.theMovie.moviePlayer.movieSourceType = MPMovieSourceTypeFile; 

     [self addSubview:self.theMovie.view]; 
     [self.theMovie release]; 
    } 
    else 
    { 
     [AssetValidator alertMissingFileInfo:videoFile]; 
    } 

Cela fonctionne très bien.

Mon problème est que chaque fois que je balaye la vidéo commence avec un retard et un écran noir.

Veuillez expliquer comment résoudre ce problème.

Cordialement.

Répondre

0

Quelle est la taille des films? Si leur taille est grande alors c'est OK. Il y a une solution mais c'est assez irrationnel: chargez tous les films en mémoire pendant le démarrage et l'exécution de l'application. Sinon (si les films sont assez gros), le retard se produira quand même.

+0

Merci knodel. Environ 2MB. Mais le nombre de pages peut être de 300. Pouvez-vous s'il vous plaît dire comment mettre des vidéos en mémoire? – TechBee

+0

Wow! Alors ça va être 600 mégaoctets dans la mémoire - "un peu" trop! Je ne pense pas qu'il y ait de solution alors. Si les films sont chargés à chaque fois, le délai restera. – Knodel

0

Nous pouvons utiliser une image d'arrière-plan pour éviter l'écran noir.

Questions connexes