Възпроизвеждане на звуци след различни интервали от време

Искам да използвам синтезирано речево изречение в демонстрация на приложение. След натискане на бутон стартира таймер и след примерно 12 секунди се изговаря първото изречение, след това след 1.30 мин. и т.н.

Подходът, за който мислех, е NS Timer. Но доколкото виждам, той се възпроизвежда само след определено време. Така че имам ли нужда от нов таймер за някакъв период от време? или мога да проследя оставащото време и да извикам извикване на метод, когато се достигне определено време?

Благодаря


person Sebastian Scharf    schedule 20.09.2014    source източник


Отговори (1)


Бих направил това, като използвам речник с NSNumbers като ключове (представляващи секунди) и изречението, което искате да се изговори като стойност. Използвайте прост таймер, задействан веднъж на всяка секунда, който актуализира int, който (когато се преобразува в NSNumber) ще бъде проверен спрямо ключовете на речниците. Просто влизам в този пример, но това трябва да ви помогне да започнете,

- (void)viewDidLoad {
    [super viewDidLoad];
    self.dict = @{@3:@"First", @5:@"second", @11:@"Third", @35:@"Fourth"};
    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(doStuff:) userInfo:nil repeats:YES];
}

-(void)doStuff:(NSTimer *) aTimer {
    static int i = 0;
    i++;
    if ([self.dict.allKeys containsObject:@(i)]) {
        NSLog(@"%@", self.dict[@(i)]);
    }
}
person rdelmar    schedule 20.09.2014