2014-09-20 114 views
0

我想在應用程序演示中使用語音合成語句。按下按鈕後,定時器運行,例如12秒後,第一句話被說出,然後在1.30分鐘後等。在不同的時間間隔後播放聲音

我想到的方法是NS定時器。但據我所知,它只能在確定的時間後播放。那麼,我是否需要在任何時間使用新計時器?或者我可以跟蹤剩餘時間,並在達到特定時間時調用方法調用?

感謝

回答

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)]); 
    } 
}