gpt4 book ai didi

ios - 确定用户对给定语言的首选 AVSpeechSynthesisVoice

转载 作者:行者123 更新时间:2023-12-01 17:06:29 25 4
gpt4 key购买 nike

我的 iOS 应用程序提供了多种语言的 AVSpeechSynthesizer 支持(不仅仅是设备的当前语言)。
Settings->General->Accessibility->Speech->Voices->西类牙语,用户可以将首选语音设置为“西类牙语(西类牙)”“西类牙语(墨西哥)”(对应于分别为 es-ESes-MX
与葡萄牙语(pt-PT、pt-BR)、法语(fr-FR、fr-CA)类似等等

如果我的一位用户想让我的应用说西类牙语短语,我如何确定用户在“设置”中选择了哪些可用的西类牙语语音?

我测试了 [AVSpeechSynthesisVoice speechVoices] 以查看当用户偏好改变时声音的顺序是否改变,但答案似乎是否定的。
[AVSpeechSynthesisVoice voiceWithLanguage:] 需要完整的语言区域设置字符串,因此即使默认情况下有两种西类牙语语音可用,但传入“es”会让您变成 nil。
我扫描了 [NSUserDefaults standardUserDefaults] 中的所有键,但那里没有任何相关内容。我查看了 UIAccessibility 文档,但没有找到我需要的内容。

最佳答案

对我有用的方法如下:

let defVoice = AVSpeechSynthesisVoice(language: NSLocale.current.languageCode)

我测试过英语,英语有很多变体。它返回用户在“设置”中选择的语音作为其当前语言环境的首选语音。

关于ios - 确定用户对给定语言的首选 AVSpeechSynthesisVoice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30761290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com