1

我有一个使用 AVSpeechUtterance 的应用程序,该应用程序在 iOS 12 之前一直运行良好。它仍然可以运行,但 en-US 语音听起来是乱码。这不会发生在 xcode 模拟器或新 iPhone XS Max 上。它似乎只发生在 iPhone X 上。删除并重新安装该应用程序并不能解决问题。唯一的解决方法是将声音更改为 en-IE。有没有其他人经历过这个或找到解决方法?

AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:@"This is a test"];
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];
utterance.rate = AVSpeechUtteranceDefaultSpeechRate;
[self.synthesizer speakUtterance:utterance];
4

1 回答 1

1

iOS12 Made 'en-US' 使用Fred而不是Samantha

尝试替换:

utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];

和:

utterance.voice = [AVSpeechSynthesisVoice voiceWithIdentifier:@"com.apple.ttsbundle.Samantha-compact"];
于 2018-10-08T05:10:54.847 回答