0

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

}
4

2 回答 2

2

我看到一个类似的问题,代码大致相同。iOS6上的问题是AVSpeechUtteranceMinimumRate不存在,加载代码时会产生动态链接错误。注释掉那行代码,代码确实在 iOS6 上运行,但什么也没说。我想这一定是AV语音代码与其他接口的处理方式不同,您需要找到另一种方法来确定它是否是iOS7。

于 2013-10-19T15:53:31.390 回答
1

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

Availability: Available in iOS 7.0 and later.

于 2013-10-18T16:51:29.043 回答