Je dois avoir un enregistrement audio (un cours, etc.) sur l'iPhone et lire directement les écouteurs.Utilisation simultanée d'AVAudioRecorder et d'AvAudioPlayer
J'ai du code qui fonctionne - la plupart du temps!
Je mis mon AVAudioSession
[[AVAudioSession sharedInstance] setCategory: erreur AVAudioSessionCategoryPlayAndRecord: nil];
J'ai configuré mon lecteur et enregistreur, les deux pointant vers la même URL.
AudioRecorder = [[AVAudioRecorder alloc] initWithURL: soundFileURL paramètres: recordSettings erreur: erreur &];
// mis en place la lecture audio Audioplayer = [[AVAudioPlayer alloc] initWithContentsOfURL: soundFileURL erreur: erreur &];
je me prépare à jouer et enregistrer
[AudioRecorder prepareToRecord]; [audioPlayer prepareToPlay];
Tout se passe bien pendant un moment. Puis, soudainement, le joueur s'arrête et son temps actuel passe à zéro.
Il ne semble pas que cela soit traité, car je peux continuer à jouer le son enregistré juste à partir de la position de départ. L'arrêt se produit apparemment de manière aléatoire, à des moments différents à chaque fois.
Quelqu'un at-il des suggestions sur le problème ou comment déboguer?
Merci d'avance!
Cela semble être une condition de concurrence. Si l'enregistreur n'insère pas suffisamment de données, le lecteur atteindra la fin et s'arrêtera. Jetez un oeil à cette question: http://stackoverflow.com/questions/7184341/ios-sample-code-for-simultaneous-record-and-playback – borrrden