2013-07-16 46 views
0

我有一个简单的问题:我找到了一种方法来停止播放文件时播放第二个文件,以便它们不重叠。现在我的问题是,如何将这个方法应用于例如7个文件而不会使语句太长?防止多个声音文件重叠如播放

- (IBAction)playSound1 { 
if (self.sound2Player.playing) 
    [self.sound2Player stop]; 
[self.sound1Player play]; 
} 

- (IBAction)playSound2 { 
if (self.sound1Player.playing) 
    [self.sound1Player stop]; 
[self.sound2Player play]; 
} 

回答

0

有很多不同的方法可以解决这个问题。

首先想到的是保持当前播放声音的局部变量。

- (IBAction)playSound1 { 
    if (self.playingSoundPlayer != nil) { 
     [self.playingSoundPlayer stop]; 
    } 
    self.playingSoundPlayer = self.sound1Player; 
    [self.sound1Player play]; 
} 

你可以得到看中,并确保您设置playingSoundPlayer到零的时候你的声音播放完毕,但它可能不会伤害任何调用再次停止,所以这有点给你。

+0

谢谢,我会尽快把它弄出来! –