Enregistrer de l'audio et de les enregistrer de façon permanente dans iOS
J'ai fait 2 applications de l'iPhone qui peut enregistrer de l'audio et l'enregistrer dans un fichier et le lire à nouveau.
L'un d'eux utilise AVAudiorecorder et AVAudioplayer.
Le second est d'Apple SpeakHere exemple avec Audio Files d'attente.
Tous les deux sur Simulater ainsi que de l'Appareil.
MAIS quand j'ai redémarrer l'application fichier enregistré n'est pas trouvé!!!!!
J'ai essayé toutes les suggestions possibles trouvé sur stackoverflow mais il ne marche pas encore!
C'est ce que j'utilise pour enregistrer le fichier:
NSArray *dirPaths;
NSString *docsDir;
dirPaths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
NSString *soundFilePath = [docsDir stringByAppendingPathComponent:@"sound1.caf"];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
Où (dans quel répertoire) êtes-vous stocker les fichiers??
Le répertoire Documents comme ceci:
NSArray *dirPaths; NSString *docsDir; dirPaths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, OUI); docsDir = [dirPaths objectAtIndex:[globals sharedGlobals].folderCounter]; NSString *soundFilePath = [docsDir stringByAppendingPathComponent:@"sound1.la caf"]; NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
Avez-vous NSLogged le chemin d'accès au fichier de la chaîne pour s'assurer qu'il est ce que vous pensez que c'est?
Merci d'éditer votre question initiale pour ajouter le code que vous avez mis dans le commentaire. MIT est presque impossible de lire de cette façon, et beaucoup de gens vont manquer comme un commentaire.
Le répertoire Documents comme ceci:
NSArray *dirPaths; NSString *docsDir; dirPaths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, OUI); docsDir = [dirPaths objectAtIndex:[globals sharedGlobals].folderCounter]; NSString *soundFilePath = [docsDir stringByAppendingPathComponent:@"sound1.la caf"]; NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
Avez-vous NSLogged le chemin d'accès au fichier de la chaîne pour s'assurer qu'il est ce que vous pensez que c'est?
Merci d'éditer votre question initiale pour ajouter le code que vous avez mis dans le commentaire. MIT est presque impossible de lire de cette façon, et beaucoup de gens vont manquer comme un commentaire.
OriginalL'auteur es1 | 2013-02-25
Vous devez vous connecter pour publier un commentaire.
Ok j'ai enfin résolu. Le problème est que j'ai été la mise en place de la AVAudioRecorder de fichier et le chemin d'accès dans la viewLoad de mon ViewController.m d'écraser des fichiers existants portant le même nom.
Quand j'ai redémarré l'application du code d'installation de l'enregistreur (à partir de viewLoad) serait tout simplement remplacer mon ancien fichier appelé:
sound1.caf
avec un nouveau. Même nom mais pas le contenu.
Le jeu aurait suffit de jouer à un nouveau fichier vide. --> Pas de Son évidence.
Voici donc ce que j'ai fait:
J'ai utilisé NSUserdefaults pour enregistrer le chemin d'accès de l'enregistrement de nom de fichier pour les retrouver plus tard dans ma méthode de lecture.
nettoyé viewLoad dans ViewController.m :
enregistrement modifié dans le ViewController.m :
édité lecture dans le ViewController.m:
et a ajouté un nouveau dateString méthode pour ViewController.m:
Maintenant, il peut charger le dernier fichier enregistré via NSUserdefaults de le charger avec:
(IBAction)de la lecture. temporaryRecFile est un NSURL variable dans mon ViewController classe.
déclarée comme suit ViewController.h :
Vous sir sont une légende. J'ai essayé d'obtenir cette fonctionnalité fonctionne, dans mon application, pour les âges, mais je ne pouvais pas 🙁 Merci beaucoup man, vraiment utile.
Je vous remercie beaucoup. J'ai perdu trois jours à la recherche de la cause du problème. J'ai fait beaucoup de tests inutiles pour comprendre pourquoi le son de l'enregistrement est effacé.
La vérité est qu'il est très difficile d'imaginer que la création de l'enregistreur [AVAudioPlayer alloc] initWithContentsOfURL effacé le contenu du fichier précédent. Incroyable! Et j'ai perdu plus de 3 jours à essayer de comprendre ce qui se passait! Merci beaucoup encore une fois!
parce que les valeurs enregistrées dans des variables sont perdues une fois que vous tuez l'application et l'ouvrir à nouveau.
OriginalL'auteur es1