2010-08-31 21 views
1

Ok. Je pense qu'il me manque quelque chose ici et je suis nouveau à Core Audio mais j'ai parcouru les documents Apple et le reste du web en vain. J'ai également posté cette même question sur les forums de développement Apple et n'ai reçu aucune réponse. J'espère que la communauté StackOverflow pourra m'aider. Je suis en train d'enregistrer de l'audio et de le lire très bien en utilisant AVAudioRecorder et AVAudioPlayer. Mon application utilise également le partage de fichiers pour que l'utilisateur puisse exporter l'audio et le lire ailleurs. C'est là que mon problème entre en jeu. J'enregistre en utilisant l'encodage AAC mais le fichier ne sera pas importé dans iTunes. Il joue bien en utilisant VLC et en regardant les informations sur les médias, son codec est mp4a que je m'attendais. Lecture sur le Web sonne comme le AAC a besoin d'un wrapper MP4A. Quelqu'un peut-il m'éclairer ou me diriger vers des informations à ce sujet? Peut-être une API ou une bibliothèque tierce que je peux utiliser?AVAudioRecorder Le fichier ne sera pas lu sauf avec VLC

J'ai joué avec les exemples SpeakHere et ExtAudioFileConvertTest, ajouté le partage de fichiers, enregistré comme AAC mais ils ne joueront toujours pas dans iTunes.

Voici mon code d'enregistrement. Très reconnaissant pour toutes suggestions ou conseils. Merci!

NSDictionary *recordSettings = [[NSDictionary alloc] initWithObjectsAndKeys: 
      [NSNumber numberWithFloat: 44100.0], AVSampleRateKey, 
      [NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey, 
      [NSNumber numberWithInt: 1], AVNumberOfChannelsKey, 
      [NSNumber numberWithInt: AVAudioQualityMax],AVEncoderAudioQualityKey, 
      nil]; 

     ...      


NSError *error; 
recorder = [[AVAudioRecorder alloc] initWithURL: soundFileURL 
                               settings: recordSettings 
                                error: &error]; 

Répondre

2

Compris cela avec l'aide de certains sur les forums Apple. Tout ce que je devais faire était de définir l'extension du nom de fichier sur m4a! Changer l'extension manuellement et essayer de jouer dans iTunes ne fonctionne pas. Quelque chose sous les couvertures dans AVAudioRecorder semble utiliser l'extension pour encoder le fichier correctement. Réglez juste l'extension correctement et cela fonctionne magnifiquement. J'espère que cela aidera quelqu'un d'autre dans le futur.