Comment save la sortie audio générée par l'user sur l'iPhone

J'ai une série de sons qu'un user va jouer, réorganiser et modifier, etc. tout en utilisant mon application. Quand l'user a fini, je veux qu'ils puissent save leur travail et l'save dans un mp3.

Je ne veux pas jouer à travers les haut-parleurs et l'save avec le micro, car cela se traduira par une faible qualité sonore et des interférences. Je ne peux pas penser à des façons de faire cela qui ne nécessite pas de matériel supplémentaire et / ou un ordinateur.

Comment puis-je faire cela en utilisant seulement leur appareil?

Eh bien, je dirais que ça ne peut pas être fait avec AVFoundation.

Ma suggestion est d'utiliser des unités audio et de transformer toutes vos interactions en un graphique audio. à un certain point, vous définissez un rendu de notification sur le RemoteIO de sorte que chaque fois qu'il restitue des sons aux haut-parleurs, vous obtenez un callback où vous pouvez écrire ces images / packages / données dans un file.

Je vais probablement suggérer d'utiliser AAC (m4a) sur MP3. Je ne suis pas très friand de MP3, et pour être honnête, autant que je sache, le sdk ne fournit pas d'enencoding en MP3, probablement en raison de problèmes de licence. Je pourrais toutefois avoir tord. Vérifiez cet exemple de code ci-dessous, probablement le meilleur exemple de code que vous findez sur les unités audio sur le Web.

AudioGraph par Tom Zic