2013-07-16 86 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

謝謝,我會盡快把它弄出來! –