我一直在看线程:语音检测(http://mobileorchard.com/tutorial-detecting-when-a-user-blows-into-the-mic/)。
但是,我希望通过以下变体来实现类似的东西。
在该levelTimer
示例中,每 0.03 秒连续触发一次。我基本上需要围绕这个包装另一个计时器,以便语音检查过程只运行(比如说)10秒。
我发现有类似的东西:
outerTimer = [NSTimer scheduledTimerWithTimeInterval:10.0
target:self
selector:@selector(outerTimerFinished:)
userInfo:nil
repeats:NO];
levelTimer = [NSTimer scheduledTimerWithTimeInterval:0.03
target:self
selector:@selector(listenForSounds:)
userInfo:nil
repeats:YES];
…outerTimerFinished
方法调用[levelTimer invalidate]
不起作用的地方 - 可能是由于线程阻塞?
那么有人可以帮我确定 levelTimer 的工作方式,但仅限于特定的时间吗?
谢谢。