2012-08-09 5 views
0

Comment accéder à un fichier crashSound.wav que j'ai placé dans le dossier Supporting Files de mon projet xCode? Parce que le code suivant ne fonctionne pas:Comment charger un fichier son en utilisant initWithContentsOfURL: error :?

@interface Game() 
{ 
    // code... 

    AVAudioPlayer *crashSound; 

    // code... 
} 
@end 

@implementation Game 

- (id) init 
{ 
    // code... 

    NSURL *crashSoundFile = [[NSURL alloc] initWithString:@"crashSound" ]; // <--PROBLEM 

    crashSound = [[AVAudioPlayer alloc] initWithContentsOfURL:crashSoundFile error:NULL]; 

    // code... 
} 
-(void) play // this is my "main" method that will be called once the playButton is pressed 
{ 
    [crashSound play];[crashSound play];[crashSound play]; 

} 
@end 

Répondre

1

@"crashSound" n'est pas une URL valide. Vous devez fournir une URL réelle.

Les URL d'images, de sons, etc. (ressources) de votre projet ne sont pas prévisibles au moment de la compilation et doivent être générées lors de l'exécution. C'est facile en utilisant NSBundle.

NSBundle *bundle = [NSBundle mainBundle]; 
NSURL *crashSoundFile = [bundle URLForResource: @"crashSound" withExtension: @"wav"]; 

Ta da.

+0

Merci pour le conseil. Fera tout de suite. –

0

NSURL * url = [Fichier NSURLURLWithPath: [NSString stringWithFormat: @ "% @/soundfile.extension", [[NSBundle mainBundle] resourcePath]]];

Questions connexes