一次停止所有声音?

时间:2011-04-30 23:49:24

标签: objective-c cocoa-touch audio avaudioplayer

您好 我在视图中有16个声音。他们循环等我想要一个矩形按钮,你点击它所有的声音停止。 这是我用于其中一个声音的代码,其余部分则相同。#

- (IBAction)twoSound:(id)sender; {
    if (twoAudio && twoAudio.playing) {
        [twoAudio stop];
        [twoAudio release];
        twoAudio = nil;
        return;
    }    
    NSString *path = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"wav"];
    if (twoAudio) [twoAudio release];
    NSError *error = nil;
    twoAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:&error];
    if (error)
        NSLog(@"%@",[error localizedDescription]);
    twoAudio.delegate = self;
    [twoAudio play];    

}

我试过

-(IBAction)goStop:(id)sender; {

    [oneAudio, twoAudio, threeAudio, fourAudio, fiveAudio, sixAudio, sevenAudio, eightAudio, nineAudio, tenAudio, elevenAudio, twelveAudio, thirteenAudio, fourteenAudio, fifthteenAudio, sixteenAudio stop]; 
}

但那没用。

由于

1 个答案:

答案 0 :(得分:3)

我认为你必须使用NSArray而不是许多声音对象。因此,您可以轻松地使用12个声音填充阵列,然后您可以使用“for”循环来阻止它们。