闲来无事,突然想要听一下苹果的语音功能,然后就自己查资料搞一下。
在iOS7之前,想要实现语音播报文字内容,可能需要第三方资源库来实现。现在在iOS7上,系统为我们提供了语音播报文字的功能,我们不仅可以播报英语内容,也可以播报汉语文字,所以对于开发者来说真是个福音。
需要导入AVFoundattion:
当前的设备判断
NSString *warnmsg = @"今天天气真好,工作加油";
if ([[[UIDevice currentDevice] systemVersion]integerValue ]>=7.0) {
//AVSpeechUtterance
AVSpeechUtterance是设置需要播报的文字内容-warnmsg、语音速率-rate以及语言种类-preferredLang,而AVSpeechSynthesizer就是开始同步播放的类。
AVSpeechUtterance *utterance =[AVSpeechUtterance speechUtteranceWithString:warnmsg];
//速率
utterance.rate *= 0.8;
//同步语音
AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc] init];
/**
* 获取当前系统语音
*/
NSString *preferredLang = @"";
//语言的设置
preferredLang = @"zh-HK";
AVSpeechSynthesisVoice *voice =[AVSpeechSynthesisVoice voiceWithLanguage:[NSString stringWithFormat:@"%@",preferredLang]];
utterance.voice = voice;
[synth speakUtterance:utterance];
}