我已经到了想要在我的游戏/应用程序中播放一些样本的地步。我的直觉告诉我使用 openAL ...我会遇到这样的情况,我需要一次播放多个样本(但不超过 2 或 3 个)并且样本会很短(2 或 3 秒)。
我的问题是,根据该标准,在 iPhone 上播放样本的最佳方式是什么?
最佳答案
这是我正在使用的一段示例代码:
第一个选项:
我在我的 .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];
第一个选项非常适用于相对较短的音效。
关于ios - 在 iPhone 上播放声音样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/714618/