Этот трюк на самом деле не ускорит flite, но освободит устройство для выполнения других задач, пока flite делает это:
Добавьте этот метод:
- (void)speak:(NSString *)message {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[fliteEngine speakText:message];
[pool release];
}
Когда ты хочешь говорить, назови это так:
[self performSelectorInBackground:@selector(speak:) withObject:@"Text to speak!"];
Это переведет ваше приложение в многопоточный режим, отобразит речь и воспроизведет ее как фоновый поток. Это позволит вашему приложению отключиться и выполнять другие действия, пока это происходит. Я также заметил, что таким образом текст выглядит немного быстрее. Надеюсь, это даст вам немного, что вам нужно.