2009-10-09 8 views
2
sound = [[NSSound alloc] initWithContentsOfFile:@"staticbeam09.wav" byReference:YES]; 

Code référencé à partir de Apple docs. Obtenir une erreur quand je mets ceci dans viewDidLoad. Si je metsNSSound non déclaré sur l'iPhone?

NSSound *sound; 

dans le fichier d'en-tête, je reçois l'erreur spécificateur-qualification en haut de mon dossier de mise en œuvre. Que dois-je faire pour que cela fonctionne? Je ne faisais que coller le code de la documentation d'Apple - est-ce que cela a été déprécié? Merci de votre aide!

Répondre

0

http://icodeblog.com/2009/05/04/iphone-game-programming-tutorial-part-4-basic-game-audio/

qui est comme je l'ai fait la musique bg audio et effets sonores à la fin pour iconquer

+0

Hey, essayé ça. J'obtiens un plantage de paramètre de chaîne nulle sur la deuxième ligne de ceci: \t NSString * beamPath = [[NSBundle mainBundle] pathForResource: @ "staticbeam09" deType: @ "wav"]; \t CFURLRef beamURL = (CFURLRef) [NSURL fileURLWithPath: beamPath]; staticbeam09.wave est dans mon dossier de ressources. essayé de mettre \ resources \ staticbeam09 et cela n'a pas fonctionné .. aucune idée quel paramètre il pense que je passe comme néant? – quantumpotato

+0

Je n'ai pas mon code en face de moi, mais d'un coup d'oeil il semble que la ressource que vous utilisez doit être au format caf, l'iPhone n'utilise pas de codec audio Windows. Icodeblog inclut une commande de terminal pour la convertir. Essayez ceci et laissez-moi savoir –

+0

Oh! Je pensais que .wav était un format universel sans perte. Ça fonctionne maintenant! Merci à tous ceux qui ont aidé à ça. Maintenant, j'ai des sons qui fonctionnent dans mon jeu! – quantumpotato

4

Il n'y a pas de classe NSSound dans l'iPhone SDK Il est seulement pour MacOS

3

droit de Oxigen. Si vous voulez jouer des sons sur iPhone, il y a plusieurs options. Probablement le plus facile est d'utiliser les services audio (example wrapper), puis il ya AVAudioPlayer et vous pouvez également utiliser OpenAL (j'ai écrit un moteur d'effets sonores OpenAL très basique appelé Finch). Cela dépend de ce que vous devez faire.

+0

Merci pour les réponses. Zoul, j'ai essayé de mettre votre code dans mon fichier d'implémentation principal, et dans viewDidLoad j'ai mis: \t Son * abc = [[Allocation sonore] initWithPath: [NSString stringWithFormat: @ "staticbeam09.wav"]]; \t [lecture abc]; Il compile bien, mais je reçois une exception non interceptée à l'exécution. Une idée pourquoi? Merci à vous deux pour votre aide. – quantumpotato

+0

L'appel 'stringWithFormat:' n'est pas nécessaire, vous pouvez utiliser '@" string "' directement. Le code n'est pas exactement ce que j'utilise, j'ai peut-être laissé un bug là-dedans. Quelle exception obtenez-vous? Avez-vous le fichier son ajouté dans le groupe Ressources dans Xcode? – zoul

+0

Oh, j'ai regardé le rapport de vue et il a dit qu'il y avait une erreur dans le chargement du son. Double-vérifier les noms et leur amende, double-cliquant sur le fichier dans les ressources joue dans Itunes aussi. – quantumpotato

Questions connexes