【发布时间】:2018-12-12 05:01:32
【问题描述】:
我的 iOS 应用程序提供多种语言的AVSpeechSynthesizer 支持(不仅仅是设备的当前语言)。
在Settings->General->Accessibility->Speech->Voices->Spanish 中,用户可以将首选语音设置为“西班牙语(西班牙)” 或 "Spanish (Mexico)"(分别对应于 es-ES 和 es-MX)。
同样葡萄牙语(pt-PT、pt-BR)、法语(fr-FR、fr-CA)等
如果我的一位用户想让我的应用使用西班牙语短语,我如何确定用户在“设置”中选择了哪些可用的西班牙语语音?
我测试了[AVSpeechSynthesisVoice speechVoices],看看当用户偏好发生变化时声音的顺序是否会发生变化,但答案似乎是否定的。 [AVSpeechSynthesisVoice voiceWithLanguage:] 需要完整的语言环境字符串,因此即使默认情况下有两个西班牙语语音可用,传入“es”也会使您为零。
我扫描了[NSUserDefaults standardUserDefaults] 中的所有键,但那里没有任何相关信息。我浏览了UIAccessibility 文档,但没有找到我需要的东西。
【问题讨论】:
标签: ios text-to-speech avspeechsynthesizer