[Résolu] Pas d'enregistrement sur device avec AVAudioRecorder
Bonjour à tous !
C'est mon 1er post sur ce forum alors je me présente un peu; Je m'appel Damien et je suis étudiant.
Je viens à vous car j'ai un problème et malgré mes recherches sur google je n'ai rien trouvé...
Donc j'ai une application pour iPad qui a plusieurs boutons, ou l'on peut sur chacun d'eux jouer/enregistrer un son.
Cette app marchait très bien jusqu'à iOS5. Maintenant je ne peux plus enregistrer de son. Ce qui est par contre bizarre, c'est que l'enregistrement marche très bien sur le simulateur avec iOS4.3 et iOS5...
Voici mon code :
Dans le AppDelegate :
Et ici dans le ViewController de mon "bouton" :
Donc si quelqu'un peut m'aider !
Merci d'avance!
C'est mon 1er post sur ce forum alors je me présente un peu; Je m'appel Damien et je suis étudiant.
Je viens à vous car j'ai un problème et malgré mes recherches sur google je n'ai rien trouvé...
Donc j'ai une application pour iPad qui a plusieurs boutons, ou l'on peut sur chacun d'eux jouer/enregistrer un son.
Cette app marchait très bien jusqu'à iOS5. Maintenant je ne peux plus enregistrer de son. Ce qui est par contre bizarre, c'est que l'enregistrement marche très bien sur le simulateur avec iOS4.3 et iOS5...
Voici mon code :
Dans le AppDelegate :
<br />AVAudioSession *audioSession = [AVAudioSession sharedInstance];<br />[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];<br />[audioSession setActive:YES error:nil];<br />
Et ici dans le ViewController de mon "bouton" :
<br />- (void)configRecorder<br />{ <br /> NSMutableDictionary* recordSetting = [[NSMutableDictionary alloc] init];<br /> [recordSetting setValue :[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey];<br /> [recordSetting setValue:[NSNumber numberWithFloat:32000.0] forKey:AVSampleRateKey]; <br /> [recordSetting setValue:[NSNumber numberWithInt:2] forKey:AVNumberOfChannelsKey];<br /> <br /> //file est un NSURL vers un fichier .caf<br /> recorder = [[AVAudioRecorder alloc] initWithURL:file settings:recordSetting error:nil];<br /> [recorder setDelegate:self];<br /> [recorder prepareToRecord];<br /> <br /> [recordSetting release];<br />}<br /><br />//Méthode appelée par un IBAction au touchDown<br />- (void)startRecording<br />{<br /> if (!hasRecordDone) [self configRecorder];<br /> hasRecordDone = YES;<br /> isRecording = YES;<br /> [recorder record];<br />}<br /><br />//Méthode appelée par un IBAction au touchUp<br />- (void)stopRecording<br />{<br /> [recorder stop];<br /> isRecording = NO;<br />}<br />
Donc si quelqu'un peut m'aider !
Merci d'avance!
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Premier conseil: Vérifier que "file" contient bien un chemin de fichier sur lequel tu as le droit d'écriture. Parce que, typiquement, quand ça marche sur le simulateur mais pas sur le device, le problème de sandbox n'est pas loin.
Je vais essayer de changer le directory de ces fichiers.
... Et j'ai du mal à comprendre comment ça a pu fonctionner avant...
La présentations des nouveaux membres c'est ici : http://pommedev.mediabox.fr/presentation-des-membres/
Je me souviendrai de ça !
J'ai fais une copie de mes fichiers du Bundle vers NSDocumentDirectory et ça marche enfin.
Encore merci !