嗨,有人在 iOS 8 上试过 AvSpeechSynthesizer 吗? 我在 Xcode 6 上做了快速应用程序,但没有音频出来,我在 Xcode 5 上运行了同样的程序并且工作顺利。
示例代码来自 http://nshipster.com/avspeechsynthesizer/
NSString *string = @"Hello, World!";
AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:string];
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];
AVSpeechSynthesizer *speechSynthesizer = [[AVSpeechSynthesizer alloc] init];
[speechSynthesizer speakUtterance:utterance];
Xcode6 有问题吗?
== 编辑 === 看起来像 iOS 8 sim 的错误/问题,带有 Xcode6 的 iOS7.1 Sim 工作正常..
最佳答案
是的,这是一个错误。从 iOS8 GM 开始,似乎第一次尝试让 AVSpeechSynthesizer 说出 AVSpeechUtterance 将导致沉默。
我的解决方法是让 AVSpeechSynthesizer 在初始化后立即说出单个字符的话语。这将是无声的,之后您的 AVSpeechSynthesizer 将正常工作。
AVSpeechUtterance *bugWorkaroundUtterance = [AVSpeechUtterance speechUtteranceWithString:@" "];
bugWorkaroundUtterance.rate = AVSpeechUtteranceMaximumSpeechRate;
[self.speechSynthesizer speakUtterance:bugWorkaroundUtterance];
关于ios - 带有 ios8 的 AVSpeechSynthesizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24197952/