7
votes

Avulliorecorder n'enregistrera pas sur le périphérique

Ceci est ma méthode: xxx

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?


0 commentaires

5 Réponses :


3
votes

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é.


0 commentaires

4
votes

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.


0 commentaires

1
votes

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];


1 commentaires

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"] ;



18
votes

Si n'importe où dans votre code, vous avez cette configuration: xxx

changez-le à: xxx

définir la mauvaise catégorie d'avaudiosession Enregistrez / jouer à l'échec.


0 commentaires

1
votes

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')


1 commentaires

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.