苹果官方提供过中文TTS支持,不过可惜的是并没有移植到OSX中。
首先定义:
NSSpeechSynthesizer *synth= [[NSSpeechSynthesizer alloc] init];
阅读文本,只需要以下代码:
NSString *text=@"hello, this is a test.";
[synth startSpeakingString: text];
如果希望获取到语音阅读完毕的事件,首先设置托管
[synth setDelegate: self];
然后在以下这个方法中接收事件即可。
- (void)speechSynthesizer:(NSSpeechSynthesizer *)sender didFinishSpeaking: (BOOL)finishedSpeaking
{
}
要想在阅读过程中停止阅读,只需要调用下面的方法:
[synth stopSpeaking];
开源的库
http://espeak.sourceforge.net/download.html