Ceci est ma méthode: la plupart d'entre elles est explicite; Playbool est un bool qui est oui quand il est en mode de lecture.
Tout fonctionne dans le simulateur toutefois, lorsque je l'exécute sur un périphérique, [enregistreur enregistreur] renvoie non. Est-ce que quelqu'un a une idée de la raison pour laquelle cela se produit? P> p>
5 Réponses :
OK, a résolu ma propre question; Je ne sais pas pourquoi, mais je dois enregistrer à la norme NationaleDirectory lors d'un périphérique. Changer cela complètement corrigé. P>
Ceci est parce que vous ne pouvez pas modifier l'app-paquet sur l'appareil (il est signé). Vous pouvez enregistrer dans le dossier DOCS pour votre application, soit le répertoire TMP. P>
J'ai eu le même problème. Il s'avère que je heurtais une déclaration de trajectoire incorrecte. L'Avaudiorecorder a initialisé l'amende - et sans incident - mais iOS ne me permettrait tout simplement pas d'écrire. Pourquoi? Vérifiez-le:
/* The following code will fail - why? It fails because it is trying to write some path that is NOT accessible by this app. NSString *recordedAudioPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingString:@"recorded.caf"]; */ // Correction: NSString *recordedAudioPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; recordedAudioPath = [recordedAudioPath stringByAppendingPathComponent:@"recorded.caf"]; NSURL *recordURL = [NSURL fileURLWithPath:recordedAudioPath];
La différence est que le composant de chemin est ajouté si nécessaire. Il ajoute essentiellement un / avant enregistré.CAF Le précédent code "incorrect" aurait fonctionné s'il utilisait: Nstring * EnregistréAudiopath = [[NsSearchPathfordirectomainsIndomains (NsdocumentDirectory, Nsuserdomainmask, Yes) ObjectAindex: 0] StringByAppendingString: @ "/ enregistré.caf"] ;
Si n'importe où dans votre code, vous avez cette configuration: changez-le à: p> définir la mauvaise catégorie d'avaudiosession Enregistrez / jouer à l'échec. p> p>
En outre, assurez-vous que votre application est autorisée à accéder au microphone (c'est-à-dire dans les paramètres iOS, faites défiler vers le bas et trouvez votre application, et il doit avoir «microphone» que vous devez basculer sur 'ON') P>
Quoi? Ce problème que j'ai essayé de déboguer pendant deux jours ne pouvait pas être quelque chose d'aussi simple, bien sûr, cet appareil dispose d'autorisations de microphone, de voir ... Oh, c'était-ce. Dispositif / simulateur totalement un hareng rouge. iOS devrait au moins enregistrer une erreur, pas en panne silencieusement. Merci, parfois c'est quelque chose de si basique.