我有一个简单的问题:我找到了一种方法,可以在播放第二个文件时停止播放文件,这样它们就不会重叠。现在我的问题是,如何将这个methoid应用到例如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 :(得分:0)
有很多不同的方法可以解决这个问题。
首先想到的是保留一个当前播放声音的局部变量。
- (IBAction)playSound1 {
if (self.playingSoundPlayer != nil) {
[self.playingSoundPlayer stop];
}
self.playingSoundPlayer = self.sound1Player;
[self.sound1Player play];
}
当你的声音结束播放时,你可能会想到并确保将playSoundPlayer设置为nil,但是再次调用stop可能不会有任何伤害,所以这取决于你。