2009-06-19 6 views
2

J'ai le code simple suivant qui joue un sonAVAudioPlayer ne joue que sur simulateur mais pas sur l'appareil. (IPhone SDK)

NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"wav"]; 
    player =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath: soundPath] error:nil]; 
    player.volume = 1; 
    player.numberOfLoops = 0; 
[player prepareToPlay]; 
     [player play]; 

Pour une raison quelconque ce code ne joue que dans le simulateur mais pas l'appareil, des idées? Mise à jour: En fait, j'ai installé AvTouch, un exemple d'application d'Apple sur 3.0 et qui ne fonctionne pas non plus. Quelque chose ne va pas avec AVAudioPlayer?

+0

Avez-vous déjà résolu ce problème? J'ai le même problème en essayant de jouer un fichier wav. – Kinlan

+0

cela peut se produire lorsque vous ne retenez pas le lecteur, gardez-le quelque part, jetez-le lorsque vous obtenez la méthode de fin de délégué – bshirley

Répondre

1

Cela peut se produire lorsque le codec utilisé par le fichier audio est disponible sur OS X, mais pas sur l'iPhone. Il est également provoqué lorsque l'extension ne correspond pas au contenu réel du fichier. Étape par étape avec le débogueur et regarder la console de débogage pour les erreurs de codec ou reconvertir votre fichier dans un format pris en charge avec afconvert.

+0

le problème d'extension n'existerait pas également pour le simulateur? – erotsppa

+0

Le simulateur utilise en fait le CoreAudio.framework de Mac OS plutôt que la version réduite disponible sur l'iPhone OS. C'est le cas de tous les frameworks existants sur Mac OS et iPhone OS (CoreFoundation et Foundation sont deux autres bons exemples) – rpetrich

Questions connexes