0
私はサウンドファイル(非常に短いビープ音)を再生し、遅延に等しい時間を待ち、繰り返しますが、このループは一時停止ボタンを押すまで実行され、待ち時間遅延はスライダボタンで変更できますループが実行されています。すべての反復で新しいIBAction入力をチェックするループを作成するにはどうすればよいですか?
- (void)playSound
{
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/Metronome-Sound.mp3", [[NSBundle mainBundle] resourcePath]]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = 0;
[audioPlayer play];
}
- (IBAction)playSelected:(UIButton *)sender
{
if (stateOfMetronome == 0){
stateOfMetronome = 1;
while (stateOfMetronome == 1){
[self playSound];
[NSThread sleepForTimeInterval:delay];
}
}
}
- (IBAction)pauseSeleted:(UIButton *)sender
{
if (stateOfMetronome == 1){
stateOfMetronome = 0;
[audioPlayer pause];
}
}
はい、NSTimerを使用してください。ポーリングループは邪悪です。 – sosborn
iPhone向けに開発を始めたばかりなので、やっているように見えます。ありがとうございました。 – currentoor