WAV et AIFF souvent (habituellement?) Contiennent PCM, alors quelle est l'objection là-bas? Ou dites-vous que vous devez transmettre vos données MP3 à PCM pour les mixer (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)
- Services de conversion de fichiers audio (pour convertir les données MP3 à PCM, et/ou pour encoder 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-to-PCM ou PCM-to-AAC, mais pour faire MP3-to-AAC, vous auriez besoin de deux convertisseurs.
- Services de fichiers audio étendus, qui combinent les deux.
Consultez le ConvertFile example dans le Core Audio SDK. Cela ouvre un fichier source pour la lecture, décrit le format souhaité du fichier cible, lit les tampons de l'un et les écrit dans 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.
De même, assurez-vous de bien comprendre la différence entre les codecs et les formats de fichiers, et les combinaisons de codecs/formats autorisées. J'ai été surpris la première fois que j'ai découvert que PCM doit être petit-boutiste dans un WAV, big-endian dans un AIFF.
Vous devriez probablement ajouter la balise core-audio à cette question. – invalidname
peut-être que cela devrait être sur SU? –