我目前正在制作一个播放歌曲的应用程序。我想每点击一个按钮就播放一首随机歌曲。我目前有:
-(IBAction)currentMusic:(id)sender {
NSLog(@"Random Music");
int MusicRandom = arc4random_uniform(2);
switch (MusicRandom) {
case 0:
[audioPlayerN stop];
[audioPlayer play];
break;
case 1:
[audioPlayer stop];
[audioPlayerN play];
break;
但我已经尝试过:
- (IBAction)randomMusic:(id)sender {
NSLog(@"Random Music");
NSMutableArray * numberWithSet = [[NSMutableArray alloc]initWithCapacity:3];
int randomnumber = (arc4random() % 2)+1;
while ([numberWithSet containsObject:[NSNumber numberWithInt:randomnumber]])
{
NSLog(@"Yes, they are the same");
randomnumber = (arc4random() % 2)+1;
}
[numberWithSet addObject:[NSNumber numberWithInt:randomnumber]];
NSLog(@"numberWithSet : %@ \n\n",numberWithSet);
switch (randomnumber) {
case 1:
[audioPlayerN stop];
[audioPlayer play];
NSLog(@"1");
break;
case 2:
[audioPlayer stop];
[audioPlayerN play];
NSLog(@"2");
break;
default:
break;
}
}
所有这些都有效,问题是,即使我会添加更多歌曲,它们也会重复。我想要一个不会重复的随机代码。Like 随机播放歌曲 1、歌曲 2、歌曲 3、歌曲 4 和歌曲 5,播放时全部重新开始。就像一个循环。但是我现在的代码就像歌曲1,歌曲1,歌曲2,歌曲1,歌曲2等等......有没有什么办法可以不重复歌曲,除非所有歌曲都播放完?非常感谢。