Audio : jouer samples synchronisés
Hello le verger,
Je dois me pencher sur l'audio dans iOS et je suis un peu nouveau dans ce domaine.
En gros : j'ai genre 6 boutons associé à un sample chacun. J'appuie sur un bouton : le sample se joue en boucle. J'appuie encore sur ce boutton et le sample se stop. Je peux à tout moment appuyer sur les autres boutons pour jouer leur sample associé.
Pour le moment ça marche avec AVAudioPlayer.
Première interrogation : suis-je obligé de déclarer autant d'instance d'AVAudioPlayer qu'il y a de samples (boutons) ? Je fais ça pour le moment et c'est assez lourd ...
Mon deuxième (et principal) souci c'est la synchronisation des samples. Il faut que chaque sample ajouté s'harmonise avec le reste des samples qui se jouent. J'ai bien vu le code d'example d'Apple avec - (BOOL)playAtTime: mais j'ai l'impression que cette méthode fonctionne que si on veut jouer les samples en même temps.
Du coup, est-ce qe vous avez une idée de comment réaliser ce truc ? Je me trompe peut-être de framework et il faut direct se diriger vers Core Audio.
Réponses
Il y a les AudioGraph, et leur sample iPhoneMultiChannelMixerTest qui pourrait être ce que tu cherches.
Mais je te le dis tout de suite, c'est chiant l'Audio
Même si ça semble faisable avec AVAudioPlayer, je te conseille de te pencher vers CoreAudio directement. Tu vas sans doute vouloir améliorer le truc un jour ou l'autre et tu vas vite te rendre compte des limites de AVAudioPlayer.
Je sens que je vais m'amuser lol