我已经达到了想要在我的游戏/应用程序中播放一些样本的程度。我的直觉说使用openAL ...我会遇到需要一次播放多个样本的情况(但不超过2或3),样本会很短(2或3秒)。
我的问题是,根据这个标准,在iPhone上播放样本的最佳方法是什么?
答案 0 :(得分:2)
这是我正在使用的一段示例代码:
第一个选项:
我在.h文件中定义了这个
SystemSoundID topClick;
在我的.m文件中,我会加载声音(aiff文件):
NSBundle* bundle = [NSBundle mainBundle];
NSString *topClickFile = [bundle pathForResource:@"top_click" ofType:@"aiff"];
然后,当我想播放声音时,我使用:
AudioServicesPlaySystemSound(topClick);
第二个选项:
您也可以使用AVAudioPlayer(我认为固件2.2之后可用):
NSString *graffitiSprayFile = [bundle pathForResource:@"sound_effect" ofType:@"aiff"];
AVAudioPlayer* sprayAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:graffitiSprayFile] error:NULL];
sprayAudio.delegate = self;
[sprayAudio prepareToPlay];
[sprayAudio setNumberOfLoops:999];
第一个选项非常适用于相对较短的音效。