Sto provando a registrare un po 'di audio e convertirli in altri formati audio. Sto usando classe AVAudioRecorder per registrare e queste sono le impostazioni di registrazione che ho usato ..Converti Suono registrato in iphone da un formato a un altro dire wav to mp3
NSDictionary *recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue:[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];//kAudioFormatMicrosoftGSM,kAudioFormatLinearPCM
[recordSetting setValue:[NSNumber numberWithFloat:8000] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];
[recordSetting setValue :[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[recordSetting setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey];
[recordSetting setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey];
registrazione sta lavorando splendidamente. Ora voglio convertire questo file audio in formato mp3. Posso farlo con il framework AudioToolBox. Ho provato questo
AudioStreamBasicDescription sourceFormat,destinationFormat;
//Setting up source Format setting..here wav
sourceFormat.mSampleRate = 8000.0;
sourceFormat.mFormatID = kAudioFormatLinearPCM;
sourceFormat.mFormatFlags = kAudioFormatFlagIsSignedInteger ;
sourceFormat.mBytesPerPacket = 4;
sourceFormat.mFramesPerPacket = 1;
sourceFormat.mBytesPerFrame = 4;
sourceFormat.mChannelsPerFrame = 2;
sourceFormat.mBitsPerChannel = 16;
destinationFormat.mSampleRate = 8000.0;
destinationFormat.mFormatID = kAudioFormatMPEGLayer3;
destinationFormat.mFormatFlags = 0;
destinationFormat.mBytesPerPacket = 4;
destinationFormat.mFramesPerPacket = 1;
destinationFormat.mBytesPerFrame = 4;
destinationFormat.mChannelsPerFrame = 2;
destinationFormat.mBitsPerChannel = 16;
OSStatus returnCode = AudioConverterNew(&sourceFormat,&destinationFormat,&converter);
if (returnCode) {
NSLog(@"error getting converter : %d",returnCode);
return;
}
La funzione AudioConverterNew() mi sta dando errore kAudioConverterErr_FormatNotSupported ('fmt'). Ho provato con diverse combinazioni mFormatID e mFormatFlag. Ma ogni volta che uno degli operanti (fonte o destinazione) è mp3, sto ricevendo questo errore. Ora, per favore aiutami con queste domande.
possiamo usare AudioToolbox quadro e funzioni per convertire i suoni tra formato compresso compressa e non (attualmente voglio per la conversione tra .wav e .mp3). Nella documentazione di AudioConverterNew si dice " " Codifica e decodifica tra PCM lineare e formati compressi è supportato ". Ma non sono nello specifico che comprendeva i formati compressi.
Se la risposta alla domanda 1 è 'no' poi che quadro devo uso di convertire il suono tra sopra formati citati?
Non
- legato al di sopra del 2, ma può qualcuno darmi un link per eventuali siti web dove informazioni sui formati audio differenti (wav, mp3, aac ecc) e le loro digitali rappresentazioni (cpm, LPCM, ecc) in modo che posso capire quale usa cosa.