0

是否有其他人无法使用“en-US”以外的声音使用 AVSpeechSynthesizer?我调用时返回的数组AVSpeechSynthesisVoice speechVoices仍然返回可以在 iOS 7 中看到的完整列表,但它们都没有真正起作用。

我尝试查看 iOS 8 发行说明中的​​已知问题,但没有看到任何相关内容。希望这将在完整版中得到修复,因为我有几个使用多种声音的应用程序。

4

2 回答 2

0

恕我直言,这是 iOS8 中的一个错误,即使对于 GM 也是如此。我在玩这个项目:https ://github.com/mattt/AVSpeechSynthesizer-Example

我的发现是:

1) iOS 8 在任何模拟器(XCode 6GM、XCode 6.1b2)中都没有说话。它确实只在真实设备上说话。

2 ) iOS 8 确实使用电话语言(在我的情况下为俄语)和英语(en-US)。当我将手机的语言更改为德语时,我可以听到德语和英语 TTS。在首选语言列表中添加德语作为语言之一没有帮助,您应该将语言设置为电话语言。由于未知的原因,即使它不是电话语言,俄语也确实有效,但德语却不一样 - 只有将其设置为电话语言时它才有效。也许真正的位置很重要(我在俄罗斯)。可以肯定的是:iOS8 确实以某种方式“优化”了 TTS 引擎,因此并非所有这些引擎都可以使用。

3) 有些人注意到 iOS 8 中的另一个错误:第一次尝试使用 AVSpeechSynthesizer 会产生静音。请参阅此处的解决方法。

于 2014-09-16T15:33:32.623 回答
0

此问题似乎已在 iOS 8.1 中得到修复。

于 2014-10-22T04:46:25.433 回答