objective-c - 如何使用数组使按钮按特定顺序播放声音?

标签 objective-c iphone arrays audio

我正在使用iPhone的Objective-C进行编码,并且正在尝试创建一个播放一系列声音的数组。例如,第一次我按下按钮时,我希望它播放声音“0.wav” ,但是第二次我要它播放“1.wav” ,然后“2.wav” “3.wav” 等。然后,当我总共播放了14种声音(最高为“13.wav”)时,我希望循环从0.wav开始播放。我在Google和Apple开发文档中浏览了将近4天,但运气不佳。因此,如果有人可以帮助我为此生成代码,将不胜感激,并且如果您不介意,可以尝试简要地解释代码,以便我可以学习每个部分的功能。

谢谢乔伊

编辑

好的,我已经降低了Array的部分(感谢Thomas),但是我们俩都不确定如何从数组到实现播放声音的 Action 以及如何播放声音的方式实现soundID。如果对您的答案有所帮助,我将使用Thomas在下面的数组中使用的格式。

谢谢乔伊

最佳答案

首先,创建不同声音的数组和一个变量以保存当前索引:

NSArray *sounds = [[NSArray alloc] initWithObjects:@"0.wav", @"1.wav", nil]; // add all your files here
NSUInteger currentSound = 0;

然后,当您处理按键事件时,转到下一个声音,然后播放。如果它在您的NSArray的末尾,请返回索引0:
currentSound++;
if (currentSound >= [sounds count]) {
    currentSound = 0;
}

// play the sound. Just call your own method here
[self playSoundWithFilename:[sounds objectAtIndex:currentSound]];

关于objective-c - 如何使用数组使按钮按特定顺序播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1210216/

相关文章:

ios - iPhone UIButton - 图像位置

ios - 在通话期间播放音乐 iOS Swift

javascript - 使用 JSON 数据填充 Javascript 数组

php - 将多个关联数组数据插入MySQL数据库

iphone - 拖动 UITableView 时 NSTimer 不工作

iOS:Objective-C 创建类属性错误:使用未声明的标识符

iphone - 如何合并Sqlite数据库中按日期排序的2个表的数据?

javascript - 更改 Img 属性并填充数组错误

ios - 推送没有阴影和停电的动画

ios - Xcode/iTunesConnect : Is it possible to remove watch kit target and add it back or not submit the watchkit App?