我正在嘗試設置通過UISwitch啓用的秒錶警報。我希望在定時器啓動後的x秒後觸發警報。我有一個ivar int變量(timerCount),它保存已經過去的秒數,我想根據那個ivar播放聲音。當計時器開始時,我啓用開關,我希望玩家在10秒內開火,但事實並非如此。我知道「if語句」是罪魁禍首,因爲當我刪除它時,AVPlayer將在啓用開關時播放wav文件。我只需要另一組眼球就可以看到這個並找出我錯過的東西。 這裏是代碼片段:提示AVAudioPlayer基於定時器播放
- (IBAction)timerSound{
if (voiceSwitch.on){
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"horn"
ofType:@"wav"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:soundFilePath];
player = [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: nil];
if (timerCount == 10)
[self.player play];
}
else {
[self.player stop];
}
}
'timerCount'持有的時間間隔,因爲...? – 2011-05-23 15:50:26
當按下開始按鈕時它被設置爲0,並且每秒增加一次。 – dman 2011-05-23 15:57:03