2010-04-04 6 views
1

Je regarde l'exemple «aurioTouch» d'Apple pour l'iPhone et je voudrais jouer un mp3 ou un wav au lieu d'utiliser le micro intégré. Je suis très nouveau dans la partie audio de la programmation iPhone, mais je pense que je dois modifier la fonction SetupRemoteIO (...) et remplacer le composant audio nommé 'comp' par un composant audio personnalisé qui lit un fichier. Fondamentalement, je veux que l'application fonctionne exactement comme l'original, mais avec un fichier audio comme entrée au lieu du micro.Lire un fichier audio en utilisant RemoteIO et l'unité audio

Répondre

3

Vous avez juste besoin de convertir votre fichier audio en données pcm, puis de transmettre ces données à l'interface RemoteIO pendant le rappel de lecture.

Pour lire votre fichier audio, vous devez utiliser ExtAudioFileOpenURL et ExtAudioFileRead. Veillez également à définir votre format audio avec ExtAudioFileSetProperty pour convertir votre format cible pcm (qui doit être compressé, les données PCM entières signées).

La lecture consiste simplement à répondre au rappel RemoteIO (qui devrait être identique à l'exemple d'aurioTouch) et à l'alimenter avec les données PCM que vous avez chargées.

La seule autre partie délicate est que le chargement d'un fichier mp3 entier comme PCM peut prendre une tonne de mémoire. Vous pourriez avoir à écrire un fil de chargement de sorte que vous puissiez rester sous vos besoins de mémoire en chargeant seulement votre morceau pertinent du mp3.

Questions connexes