0

如何访问crashSound.wav我放在 xCode 项目的 Supporting Files 文件夹中的文件?因为以下代码不起作用:

@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
4

2 回答 2

1

@"crashSound"不是有效的 URL。您必须提供一个实际的 URL。

项目中图像、声音等(资源)的 URL 在编译时不可预测,必须在运行时生成。这很容易使用NSBundle

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

达达。

于 2012-08-09T19:03:46.573 回答
0

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

于 2012-08-09T19:05:52.723 回答