2 votes

Comment convertir en temps réel le tampon PCM en données AAC lors d'un enregistrement pour iOS ?

J'utilise Remote.IO pour récupérer le tampon audio du PCM, mais les données brutes sont trop volumineuses pour être envoyées à distance par le réseau cellulaire (réseau 3G). J'ai consulté quelques articles, mais la plupart d'entre eux suggèrent de convertir les données audio en données numériques. fichier vers l'autre format de fichier.

Existe-t-il un moyen de convertir le tampon audio en données d'encodage AAC en en temps réel ?

1voto

Bijoy Thangaraj Points 2669

Vous pouvez en effet enregistrer le tampon audio directement au format AAC.

Lors du réglage de l'ASBD, réglez-le comme suit

AudioStreamBasicDescription audioFormat;
audioFormat.mFormatID = kAudioFormatMPEG4AAC;

Précisez kAudioFileM4AType en appelant ExtAudioFileCreateWithURL comme ceci :

err = ExtAudioFileCreateWithURL((CFURLRef)audioFileURL,
                             kAudioFileM4AType,
                             &audioFormat, 
                             NULL,
                             kAudioFileFlags_EraseFile,
                             &outFile);

Vous devez également définir le codec comme ceci.

UInt32 codecManf = kAppleSoftwareAudioCodecManufacturer;
ExtAudioFileSetProperty(outFile, kExtAudioFileProperty_CodecManufacturer, sizeof(UInt32), &codecManf);

Cela devrait vous aider à faire fonctionner votre encodage AAC.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X