2010-02-15 5 views
0

Je crée un fichier audio .caf en utilisant AVAudioRecorder et si j'essaie de le lire en utilisant AVAudioPlay, je n'obtiens aucun son sur l'iPhone (si le simulateur fonctionne correctement). Si je ferme mon application et rouvre le fichier joue bien. En outre, je ne suis pas en mesure d'ajuster le volume du téléphone après l'enregistrement, sauf si je ferme et rouvre mon application. Des idées?AVAudioPlayer ne lit pas le fichier audio après AVAudioRecorder

+0

J'ai le même problème. Je suppose que le problème est dans l'enregistrement car les paramètres corrects ne sont pas appliqués. – Biranchi

Répondre

0

J'ai le même problème avec un fichier aac. J'ai utilisé ima4 avant qui fonctionnait parfaitement! Je suppose que la différence est que aac est matériel et que le logiciel ima4 est décodé. Avez-vous essayé de réinitialiser le lecteur lorsque le fichier derrière a été réenregistré? Cela a fonctionné pour moi!

Markus

4

A été confronté au même problème. Résolu le problème en définissant la catégorie AVAudioSession en mode AVAudioSessionCategoryPlayback. Ceci est mon code de travail:

AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 
audioSession.delegate = self; 
[audioSession setCategory:AVAudioSessionCategoryPlayback error:NULL]; 
[audioSession setActive: YES error: nil]; 

Assurez-vous également que l'enregistrement audio a été terminé avec succès la mise en œuvre:

-(void) audioRecorderDidFinishRecording:(AVAudioRecorder *)recorder successfully:(BOOL)flag 
{ 
    NSLog(@"Recording success:%@",flag ? @"YES" : @"NO"); 
} 

et vérifiez que vous avez ajouté <AVAudioSessionDelegate,AVAudioRecorderDelegate,AVAudioPlayerDelegate>

dans votre déclaration d'interface.

+0

C'était exactement ma solution. J'avais fait un enregistrement de l'audio, (mp4) et seulement pourrait lire si j'ai redémarré l'application. J'utilise MPMoviePlayerController pour la lecture, donc je pense que c'est un bug sur Apples partie: Lors de l'utilisation du matériel encoder, AVAudioSessionCategory n'est pas réinitialisé en créant un nouveau lecteur, même si l'avaudiorecorder est libéré, arrêté, etc. setCategory: AVAudioSessionCategoryPlayback. –

Questions connexes