iOS 6 - AVSpeechSynthesizer问题

时间:2013-10-18 16:41:01

标签: ios ios6 avspeechsynthesizer

为什么我在 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];

}

2 个答案:

答案 0 :(得分:2)

我在大致相同的代码中看到了类似的问题。 iOS6上的问题是AVSpeechUtteranceMinimumRate不存在,并且在加载代码时会生成动态链接错误。注释掉线,代码确实在iOS6上运行,但没有说什么。我想它必须是AV语音代码与其他接口不同,你需要找到另一种方法来决定它是否是iOS7。

答案 1 :(得分:1)

因为AVSpeechSynthesizer仅适用于iOS 7!在AVSpeechSynthesizer类参考的苹果开发者页面中:

Availability: Available in iOS 7.0 and later.