現在、曲を再生するアプリを作成しています。ボタンがクリックされるたびにランダムな曲を再生したかったのです。私は現在持っています:
-(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 などです...すべての曲を再生した場合を除いて、曲を繰り返さない方法はありますか? どうもありがとうございました。