2009-06-09 7 views
3

Dans mon application, l'utilisateur lit un son en appuyant sur un bouton. Il y a plusieurs boutons qui peuvent être joués simultanément. Les sons sont lus à l'aide des instances AVAudioPlayer. Je veux enregistrer la sortie de ces instances en utilisant AVAudioRecorder. J'ai tout mis en place et un fichier est créé et enregistre mais quand je le rejoue, il ne joue aucun son. C'est juste un fichier silencieux de la durée de l'enregistrement. Est-ce que quelqu'un sait s'il y a un paramètre qui me manque avec AVAudioPlayer ou AVAudioRecorder? MerciEnregistrement d'une sortie AVAudioPlayer à l'aide de AVAudioRecorder

Répondre

2

Il serait probablement plus facile d'aider si nous avons vu votre code.

Vous devriez également consulter le lien suivant pour voir si vous avez la configuration de votre AVAudioRecorder correctement: How do I record audio on iPhone with AVAudioRecorder?

Bien que ce lien montre comment configurer un enregistrement à partir du micro, il pourrait encore être utile pour vous.

1

Était 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:nil]; 
[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

Est-ce que vous faites vraiment la même chose que OP? (Enregistrement audio joué avec AVAudioPlayer: s) ... il semble improbable? – Jonny

1

Espérons que ça aide, au moins de chercher autre chose. Je rencontre le même problème ici, j'essaie d'enregistrer un mélange de différents sons joués à différents moments avec une piste principale, ce que j'ai trouvé est que AVAudioRecorder enregistre uniquement à partir du micro, donc ça marcherait . Ce que j'ai trouvé, encore à lire doc et le tester, est le Audio Converter Services, je pense que cela peut fonctionner, mais je viens de lire quelques lignes.

Encore une fois, désolé de vous dire, mais vous êtes à la recherche dans le mauvais sens, j'espère que ma réponse aide

+0

et cela a-t-il finalement fonctionné :)? – lefakir

+0

Je manquais également l'information ce que l'enregistreur enregistre réellement dans les docs: https://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVAudioRecorder_ClassReference/Reference/Reference.html –

3

Il est impossible d'enregistrer la sortie AVAudioPlayer en entrée à AVAudioRecorder pour l'enregistrement. Vous pouvez utiliser un tampon audio pour stocker les fichiers lus et les enregistrer dans un fichier.

+0

Pouvez-vous partager un lien à la documentation qui montre comment capturer et stocker le tampon de sortie AVAudioPlayer? – jangelo42

+0

vous pouvez obtenir la réfrence à partir d'ici https://developer.apple.com/library/mac/#documentation/MusicAudio/Conceptual/AudioQueueProgrammingGuide/AQRecord/RecordingAudio.html – Warewolf

+0

Je travaille à un niveau supérieur et j'utilise – jangelo42

Questions connexes