Question

Est-il possible que je peux convertir un fichier mp3 en wav / aiff dans mon application iPhone? J'ai un mp3 mais je veux combiner avec d'autres fichiers et la seule façon dont je sais que cela peut être fait en utilisant des formats est en PCM.

Quelqu'un peut-il me aider?

Merci.

Certaines choses que j'essayées

J'ai essayé d'utiliser la méthode AudioConverterFillComplexBuffer () et son rappel pour convertir le mp3 mais la FCV octets par paquet et par image sont lus comme 0. Toute idée comment je peux ou si je peux utiliser cette fonction?

Merci encore.

Était-ce utile?

La solution

WAV et AIFF souvent (en général?) Contiennent PCM, alors quelle est l'objection là-bas? Vous dites que vous devez obtenir vos données MP3 à PCM afin de le mélanger (peut-être dans une unité audio de mixage multicanal). Si vous voulez sérieusement faire, regardez Core Audio, plus précisément:

  • Services de fichiers audio (pour lire le format MP3 et d'écriture AIFF ou WAV)
  • Audio Services de conversion de fichiers (pour convertir les données MP3 à PCM, et / ou pour coder de PCM à un autre codec si vous deviez écrire un fichier). Notez qu'un convertisseur donné ne peut pas convertir entre deux formats codés; vous pouvez faire MP3 à PCM ou PCM à AAC, mais faire MP3 à AAC, vous aurez besoin de deux convertisseurs.
  • Services de fichiers audio Extended, qui combinent à la fois de ce qui précède.

Consultez la exemple ConvertFile dans le noyau SDK Audio . Cela ouvre un fichier source pour la lecture, décrit le format souhaité du fichier cible, lit les tampons d'un et les écrit à l'autre. Le code présente à la fois l'utilisation séparée des services de fichiers + services de conversion et l'utilisation pratique de ExtAudioFiles.

En outre, assurez-vous de comprendre la différence entre les codecs et les formats de fichiers, et quel codec / combinaisons de format sont légales. J'ai été surpris la première fois que j'ai découvert que PCM doit être petit-boutiste dans un fichier WAV, grand-boutiste dans un AIFF.

Autres conseils

Vous pouvez probablement faire avec le bon ensemble d'unités Core Audio, mais il va probablement utiliser beaucoup de CPU. Vous devez convertir les données à l'avance (peut-être au moment de la construction?), Si vous le pouvez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top