我想在应用程序演示中使用语音合成句子。按下按钮后,计时器运行,例如12秒后,第一个句子被说出,然后是1.30分钟,依此类推。
我想到的方法是NS计时器。但据我所知,它只能在规定的时间后播放。那么我需要在任何时间段都有一个新计时器吗?或者我可以跟踪剩余的时间并在达到特定时间时调用方法调用吗?
由于
答案 0 :(得分:0)
我会使用带有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)]);
}
}