Ziemlich einfach, ich bin mit einer Taste, die eine Zufallszahl generiert und dann mit einem Schalter / Fall, es animiert ein Bild und spielt einen Ton. Mein Problem ist, dass, wenn Sie die Taste erneut drücken, der Ton, der vorher gespielt wurde, nicht aufhört und der Ton überlappt.
Hier ist der Code:
- (IBAction) pushme: (id) sender{
int random = (arc4random()%10);
switch (random) {
case 0: {
[ANIMATION NUMBER 0]
NSString *path = [NSString stringWithFormat:@"%@%@",[[NSBundle mainBundle] resourcePath],@"/sound0.wav"];
SystemSoundID soundID;
NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
AudioServicesCreateSystemSoundID((CFURLRef)filePath, &soundID);
AudioServicesPlaySystemSound(soundID);
}
break;
case 1: {
[ANIMATION NUMBER 1]
NSString *path = [NSString stringWithFormat:@"%@%@",[[NSBundle mainBundle] resourcePath],@"/sound1.wav"];
SystemSoundID soundID;
NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
AudioServicesCreateSystemSoundID((CFURLRef)filePath, &soundID);
AudioServicesPlaySystemSound(soundID);
} break; //Lots more cases after this one
Ich weiß, dass es nicht der beste Weg ist, immer wieder die gleiche Variable zu deklarieren. aber gibt es eine Möglichkeit, es zu stoppen, bevor es eine andere spielt?