2010-08-18 6 views
2

J'ai un AVAudioRecorder, qui obtient initialisé comme:fonctionne enregistreur sur iPhone 3GS, mais pas sur iPhone 3G

_recorder = [AVAudioRecorder alloc]; 
NSMutableDictionary *recordSettings = [[[NSMutableDictionary alloc] initWithCapacity:2] autorelease]; 
[recordSettings setObject:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey: AVFormatIDKey]; 
[recordSettings setObject:[NSNumber numberWithInt:AVAudioQualityLow] forKey: AVEncoderAudioQualityKey]; 
NSURL *url = [NSURL fileURLWithPath:[self getActualSoundPath]]; 
[_recorder initWithURL:url settings:recordSettings error:nil];  
[_recorder setDelegate:self]; 

Ce code fonctionne parfaitement dans mon simulateur et sur mon iPhone 3GS, mais pas sur l'ancien iPhone 3G. ..

Quel est le problème là-dessus?

Merci Markus

Répondre

6

L'iPhone 3G ne marche pas avoir le soutien pour l'encodage AAC matériel comme le 3GS/4/4S. Vous pouvez utiliser PCM linéaire, mais ce n'est pas compressé.

Voir ce fil pour les formats pris en charge: How can I record AMR audio format on the iPhone?

sans perte d'Apple (kAudioFormatAppleLossless) et iLBC (kAudioFormatiLBC) semble fonctionner correctement sur l'iPhone 3G.

Il est recommandé d'utiliser kAudioFormatAppleIMA4, mais ce n'est pas reconnu par mobile Safari.

/Marcus

Questions connexes