2009-04-27 8 views
0

J'essaie de faire une petite application de musique sur l'iphone. Je veux avoir une octave un piano qui répondra aux touches et jouera la ou les touches que l'utilisateur touche. Comment pourrais-je obtenir deux sons ou plus en même temps afin que cela ressemble à un accord? J'ai essayé d'utiliser AVFoundation mais les deux sons ne jouent que l'un après l'autre.jouer deux sons simultanément iphone sdk

Répondre

2

Vous devez utiliser AudioQueueServices. Les documents sont ici:

Apple.com - AudioQueueServices Reference

Essentiellement vous devez écrire un code pour ouvrir plusieurs sorties, puis amorcer la file d'attente et de les bloquer avant AudioQueueStart (AudioQueueRef aq) jusqu'à ce que tout était fin prêt et puis les laisser partir.

AVAudioPlayer n'est pas vraiment assez bon pour ce genre de chose, malheureusement.

0

Si vous créez plusieurs AVAudioPlayers, vous pouvez les lire en même temps et ils seront mixés selon les restrictions décrites dans la documentation (tous les types de fichiers ne peuvent pas être lus simultanément).

Si vous les allouez d'abord, puis les jouez dans l'ordre, ils joueront pratiquement au même moment.

Si vous avez besoin d'un timing absolument parfait, utilisez la fonction AudioQueue comme décrit ci-dessus ou utilisez OpenAL.