嗨,有人在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];

10-08 05:28