2009-04-21 7 views
1

Dans mon application, j'ai une minuterie qui décompte, et quand elle s'arrête une image est affichée et un son est joué.Lecture d'un son bref à la fin de la minuterie?

Le son est chargé comme ceci:

NSString * path = [[NSBundle mainBundle] pathForResource: @ "crier" ofType: @ ".wav"]; AudioServicesCreateSystemSoundID ((CFURLRef) [NSURL fileURLWithPath: chemin], & soundID);

et a joué comme celui-ci sur la fin de la minuterie:

AudioServicesPlaySystemSound (soundID);

Mon problème est que le son n'est pas joué à temps. Même si l'instance sonore est appelée avant l'image, l'image apparaît avant le son. Cela ne se produit que la première fois que le son est joué. Le son est chargé dans la méthode viewDidLoad.

Y a-t-il une meilleure façon de le faire, ou qu'est-ce que je fais de mal?

Merci ...

+0

? Parce qu'après un nouveau redémarrage, ça marche bien ... –

+0

Pour les problèmes de synchronisation comme celui-ci, je préfère les tests de périphériques. Le simulateur n'est pas toujours précis dans des cas comme ceux-ci. – Jab

+0

oui c'est test de périphérique avec Beta 2 ... je suis d'accord sur la partie de simulateur .. –

Répondre

1

Peut-être que le son est retardé alors que le haut-parleur est sous tension (pour le premier son). Si c'est le cas, vous pouvez peut-être contourner ce problème en jouant un son différent et imperceptible plus tôt afin que le haut-parleur soit prêt lorsque vous demandez le son "réel". Peut-être parce que je cours 3.0 Bêta 2?

+0

cela pourrait fonctionner ... Je vais essayer cela merci ... –

Questions connexes