在Cocoa中实现文本语音转换(Text to Speech)是很简单的事情。当然,目前只支持英文。
曾经Mac OS 9的时候,苹果官方提供过中文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];