80 votes

AVAudioRecorder lève erros

J'utilise AVAudioRecorder pour l'enregistrement, il a bien fonctionné sur iOS 4 appareils, mais hier, nous avons découvert l'enregistrement est cassé sur iOS5. À l'aide de l'iPhone 5 simulateur je l'ai eu d'erreur suivant:

2011-08-02 11:09:03.586 Moodle[7832:10103] Erreur de chargement /System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn: dlopen(/System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn, 262): Symbole non trouvé: ___CFObjCIsCollectable

Savez-vous où cette erreur provient et comment résoudre ce problème?

29voto

hooleyhoop Points 6925

Cette erreur est juste console bruit de cadre d’un système, vous devez l’ignorer, il n’affecte pas vous. Si votre application est s’écraser ou à défaut d’enregistrer la vraie raison est ailleurs.

AVAudioRecorder fonctionne très bien sur iOS 5, même si elle jeter (et attraper) Exceptions pendant les opérations normales qui rendre le débogage plus difficile.

11voto

PixelCloudSt Points 683

J'ai également été confronté à ces erreurs, depuis le déménagement à iOS5. Je ne suis pas d'enregistrement, mais la lecture de sons avec AVAudioPlayer. Cela semble être un problème avec le AVAudio cadres lors de l'utilisation du simulateur iOS seulement. Des tests sur du matériel réel (un iPad 2 et iPad 1, dans mon cas) ne pas produire les mêmes erreurs, ce qui me fait moins préoccupé depuis que les tests sur le matériel est ce que je considère comme les tests qui compte vraiment.

BTW, désolé que ce n'est pas une solution pour résoudre le problème, tant que la confirmation que vous n'êtes pas le seul à rencontrer le problème.

8voto

Derek Points 223

J’ai trouvé que cette erreur s’apparaît uniquement lorsque vous utilisez le simulateur. Lorsqu’elle est testée sur un périphérique réel, il fonctionne très bien et aucune erreur n’est venu.

Donc, jusqu'à ce qu’Apple publie un correctif pour le simulateur, tester vos applications sur les périphériques.

5voto

Jon Evans Points 53

Si vous voulez laisser vos points de rupture sur toutes les exceptions (que je trouve très utile), vous pouvez simplement utiliser un if ( ! Déclaration TARGET_IPHONE_SIMULATOR) exécutant avant audio. Cela entraînera audio pour exécuter uniquement si vous utilisez un périphérique.

Il n’y aura aucun son du simulateur, mais il est très utile si vous ne devez musique sur et souhaitez déboguer tout autre code.

5voto

haawa Points 903

J’ai résolu ce problème en supprimant les points d’arrêt exceptionnels.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X