如何使用数组按一定顺序播放按钮?

时间:2009-07-31 01:15:43

标签: objective-c iphone arrays audio

我在用于iPhone的Objective-C编码,我正在尝试创建一个播放一系列声音的数组。例如,我第一次按下按钮我希望它播放声音“0.wav”,但第二次我希望它播放“1.wav”,然后“2.wav”“3.wav”等等当我播放了总共14个声音(最多为“13.wav”)时,我想要循环重新开始玩0.wav。我已经浏览了Google和Apple开发文档将近4天没有太多运气。因此,如果有人可以帮助我为此生成一个非常感激的代码,如果您不介意,可以尝试简要解释代码,以便我可以了解每个部分的功能。

谢谢Joey


修改

好吧我已经把阵列部分放下了(感谢托马斯)但是我们都不确定如何将阵列中的soundID实现到我播放声音的动作以及如何播放声音。我使用了托马斯用于他的阵列的格式,如果这可以帮助你得到答案。

谢谢,乔伊

1 个答案:

答案 0 :(得分:0)

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

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]];