2008-12-02 8 views
4

J'ai besoin de la lecture audio avec ces caractéristiques: bonne performance (pour le jeu), contrôle de la hauteur et capacité de superposer le même échantillon plusieurs fois en même temps (polyphonie). Quel serait un moyen rapide d'obtenir ceci sur l'iphone sdk?Lecture de son polyphonique


Voici ce que j'ai découvert à ce jour:

Il n'y a pas de bibliothèques disponibles ou des exemples de code qui fait cela, s'il vous plaît me montrer mal. SoundEngine.cpp (à partir des exemples de code CrashLanding et TouchFighter) utilise OpenAL et permet de contrôler la hauteur, mais chaque fois qu'un tampon est démarré, si ce même tampon est en cours de lecture, sa tête de lecture revient au début.

Une solution sale pour obtenir la polyphonie avec SoundEngine.cpp, sans plonger dans son implémentation (ce qui est incompréhensible pour moi), est de charger plusieurs buffers pour le même fichier son. Disons que je veux une polyphonie de maximum 4 voix par son, puis je charge 4 tampons pour le même fichier. Je devrais juste tout emballer dans une classe de gestionnaire. Est-il prudent de suivre ce chemin? Et/ou existe-t-il un moyen de pirater le SoundEngine.cpp pour qu'il soit polyphonique?

Répondre

2

FMOD (www.fmod.org) offre toutes ces fonctionnalités. Consultez leur exemple de voix virtuelle pour la polyphonie et l'effet DSP de décalage de hauteur dans les documents. Je suis juste un client, pas autrement affilié avec eux.

+0

Merci, je n'ai pas eu le temps de l'essayer mais les fonctionnalités sont impressionnantes .. Êtes-vous satisfait de l'implémentation iphone? –

0

Le SoundEngine de CrashLanding est un gâchis, je resterais loin de lui. Ecrire ce que vous voulez autour d'OpenAL n'est pas difficile, c'est quelques heures de travail. Vous pouvez regarder Finch ou au Cocos 2D sound egine.

Questions connexes