为什么我在 iOS6 上运行时遇到错误,但我检查了AVSpeechSynthesizer
?我知道AVSpeechSynthesizer仅适用于iOS7
if (NSClassFromString(@"AVSpeechSynthesizer")) {
AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:@"Just what do you think you're doing, Dave?"];
utterance.rate = AVSpeechUtteranceMinimumSpeechRate; // Tell it to me slowly
[synthesizer speakUtterance:utterance];
}
答案 0 :(得分:2)
我在大致相同的代码中看到了类似的问题。 iOS6上的问题是AVSpeechUtteranceMinimumRate
不存在,并且在加载代码时会生成动态链接错误。注释掉线,代码确实在iOS6上运行,但没有说什么。我想它必须是AV语音代码与其他接口不同,你需要找到另一种方法来决定它是否是iOS7。
答案 1 :(得分:1)
因为AVSpeechSynthesizer仅适用于iOS 7!在AVSpeechSynthesizer类参考的苹果开发者页面中:
Availability: Available in iOS 7.0 and later.