Я смотрел на тему re: обнаружение голоса (http://mobileorchard.com/tutorial-detecting-when-a-user-blows-into-the-mic/).Два NSTimers с одним управляющим деятельностью другого?
Я ищу для реализации чего-то подобного, однако, со следующим вариантом.
levelTimer
в этом примере срабатывает непрерывно каждые 0,3 секунды. Мне по существу нужно обернуть еще один таймер, чтобы процесс проверки голоса выполнялся только (скажем) 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 выполнять свою работу, но только на определенное количество времени?
Спасибо.
Я опубликовал другой способ, но я проверил ваш метод, и это сработало для меня. Что вы делаете внутри listenForSounds :? – rdelmar