ios - 在 iPhone 上播放声音样本

标签 ios audio playback

我已经到了想要在我的游戏/应用程序中播放一些样本的地步。我的直觉告诉我使用 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/

相关文章:

ios - 在 OCMockito 中使用引用传递 stub 方法时出现异常

ios - URLSession 下载任务比互联网连接慢得多

audio - MPD 在停止时断开 icecast 连接

android - 将 Google Play 开发者帐户从个人迁移到企业

Asterisk-如何使用 ChanSpy() 或任何替代方法 'whisper' 音乐?

android - Playit 应用程序如何防止视频在其他媒体播放器中播放?它使用什么技术

ios - UIActivityViewController - 无法在 ExcludedActivityTypes 中排除 "Save to Files"

ios - 无法更新解析用户详细信息 - Swift

javascript - 倒计时达到 0 时发出蜂鸣声

java - Windows上的声音等级听起来层次分明