while (true)
{
endtime = CFAbsoluteTimeGetCurrent();
double difftime = endtime - starttime;
NSLog(@"The tine difference = %f",difftime);
if (difftime >= 10)
{
NSURL *url= [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/a0.wav" , [[NSBundle mainBundle] resourcePath]]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops=0;
[audioPlayer play];
starttime = endtime;
}
}
当我调用此方法时,我的应用程序进入无限循环并且不再接受任何接触,请问该如何解决?如何在此循环中停止无限循环并允许接受触摸
“我的应用程序进入无限循环” - 因为你告诉它这样做(你怎么看',而(真)'呢?) – 2014-01-28 09:10:30
另外'difftime'是标准C函数的名称。不要将其用作变量名称。此外,'+ [NSString stringWithFormat:]'不适合创建路径名称。 ' - [NSString stringByAppendingPathComponent:]'是,但在你的具体情况下,你应该只使用' - [NSBundle pathForResource:ofType:]'。 – 2014-01-28 09:10:46
由于几个原因,这段代码没有意义。更糟糕的是,它耗尽了CPU(并耗尽了电池)。你想达到什么目的?也许,异步方法可以解决这个问题。 – CouchDeveloper