2009-12-10 3 views
0

lors de la lecture d'un son l'animation geler \ ralentir le problème.problème - lors de la lecture d'un son l'animation geler ralenti

taille du son 20kb mp3.

taille de l'animation 5kb png.

se produit également dans d'autres fonctions d'animation.

fondamentalement chaque fois que je joue un son l'animation de ralentissement ou de pauses, que faire ???

Code

:

- (void) startAnimation { 

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:0.8]; 
CGPoint destination = CGPointMake(152,20); 
pink.center = destination; 
[UIView commitAnimations]; 
[soundPink play];  
} 


- (void) initSoundResources { 

soundPink = [[APlayer alloc] initWithFile:@"ballShuffle" type:@"mp3"]; 
soundPink = 0.4; 
} 

Répondre

0

Essayez le hack suivant:

[soundPink performSelector:@selector(play) withObject:nil afterDelay:0.001]; 
+0

AVAudioPlayer est déjà asynchrone, cela peut ne pas aider, je l'ai trouvé que la plupart des pauses audio avant de jouer sont à l'étape prepareToPlay que vous pouvez appeler manuellement. – NWCoder

+0

mais l'animation ne marque pas l'audio. je poste ma fonction init (peut-être que quelque chose ne va pas là) – nil

0

Quelle est la taille du fichier audio? Il est possible que vous essayiez de charger un son trop important dans la mémoire, ce qui ralentit les choses. Rappelez-vous, l'iPhone n'est pas un ordinateur de bureau, vous devez donc considérer la taille des fichiers multimédia avec plus de soin.

+0

le plus grand est 400kb, est-ce trop grand? – nil

0

La réponse peut être d'ajouter une boîte prepareToPlay (que la lecture fait explicitement) avant le bloc d'animation afin qu'il n'y ait pas de bégaiement.

- (void) startAnimation { 
    [soundPink prepareToPlay];   
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.8]; 
    CGPoint destination = CGPointMake(152,20); 
    pink.center = destination; 
    [UIView commitAnimations]; 
    [soundPink play];   
} 
+0

noop. n'a pas aidé. – nil

Questions connexes