2009-11-25 7 views
0

Je crée une application, dans mon application je change les images pour le compte à rebours.Je veux jouer un son Tick quand une seconde complète (je veux dire lorsque l'image change) .J'ai un son de 25 secondes avec son tic répété et dans intervalle de temps de 1 seconde. parfois ça marche bien mais parfois ce n'est pas.Maintenant, comment puis-je synchroniser l'audio avec mon timer.any aide apprécié merci.Synchroniser le son avec NStimer iphone sdk?

Répondre

0

enregistrer avec 25 ticks?) Pourquoi n'utilisez-vous pas record avec une tique? Si le volume n'est pas votre objectif, vous pouvez le jouer en utilisant AudioServicesCreateSystemSoundID puis appelez AudioServicesPlaySystemSound chaque seconde.

+0

pouvez-vous me donner un un deuxième long sound.but dans mon iphone iphone 3gs je suis incapable d'entendre le son du système.J'ai déjà essayé le son du système. –

+0

hmm .. vous pouvez couper une partie de votre fichier audio avec, par exemple, Audion. C'est gratuit et facile à utiliser. Qu'en est-il de systemsound ... vous pouvez utiliser OpenAL. Peut-être que ce n'est pas très amical, mais fonctionne correctement. et il utilise une API de bas niveau, donc je préfère l'utiliser avec une animation. Voici un article qui peut vous aider à créer une couverture simple pour jouer des sons en utilisant openAL http://benbritten.com/2008/11/06/openal-sound-on-the-iphone/comment-page-1/#comment- 292 – Morion

+0

Je pense que l'utilisation d'openAL devient très complexe, je préfère utiliser avaudioplayer (j'utilise actuellement avaudioplayer). Coup une partie du son doit également être précisé.Il n'y a pas de son tick disponible gratuitement à utiliser –

0

Je suggère d'utiliser AudioServicesCreateSystemSoundID avec un fichier son qui est juste une tique, qui est d'environ 1/16 d'une seconde ou moins longue, et en utilisant dans votre INIT:

clickSound = [[self createSoundWithName:@"click"] intValue]; 

Voici le code mettre en place le son:

- (NSNumber*) createSoundWithName: (NSString*) name { 
SystemSoundID soundID = -1; 

NSString *path =[[NSBundle mainBundle] pathForResource:name ofType:@"caf"]; 
if (path != nil) { 
    NSURL *url = [NSURL fileURLWithPath:path]; 
    if (url != nil) { 
     OSStatus err = AudioServicesCreateSystemSoundID ((CFURLRef) url, &soundID); 
     if (err) NSLog (@"AudioServicesCreateSystemSoundID error %d", err); 
    } 
} 
return [NSNumber numberWithInt:soundID]; 
} 

Et voici où vous jouez le clic:

- (void) playClick { 
AudioServicesPlaySystemSound (clickSound); 
}