AVSpeechSynthesizer 支持哪些语言?

问题描述 投票:0回答:2

AVSpeechSynthesizer 似乎支持多代表英语(英国、美国......)

支持其他语言吗?法语、葡萄牙语……有这些语言的列表吗?

ios objective-c ios7 avspeechsynthesizer
2个回答
14
投票

是的,确实如此。使用

AVSpeechSynthesisVoice
speechVoices 获取支持语言的可用语音列表。

let voices = AVSpeechSynthesisVoice.speechVoices() //list of supported voices
print(voices[0].language)                          //print first voice locale

目前(截至 2018 年 9 月 10 日,在 iOS 10.3.1 和 11.4.1 上)您将找到以下内容:

  • ar-SA
  • cs-CZ
  • da-DK
  • de-DE
  • el-GR
  • en-AU
  • en-GB
  • en-IE
  • en-US
  • en-ZA
  • es-ES
  • es-MX
  • fi-FI
  • fr-CA
  • fr-FR
  • he-IL
  • 嗨IN
  • hu-HU
  • id-ID
  • it-IT
  • ja-JP
  • ko-KR
  • nl-BE
  • nl-NL
  • 不-不
  • pl-PL
  • pt-BR
  • pt-PT
  • 滚装
  • ru-RU
  • sk-SK
  • sv-SE
  • th-TH
  • tr-TR
  • zh-CN
  • zh-HK
  • zh-TW

0
投票

这两个小功能会有帮助:

import AVFoundation
import Foundation

func getSpeechSupportedRegionalLanguages() -> [String] {
    let voices = AVSpeechSynthesisVoice.speechVoices()
    var languages: Set<String> = []
    let english = Locale(identifier: "en")
    voices.forEach{languages.insert(english.localizedString(forIdentifier: $0.language)!)}
    return Array(languages).sorted()
}

func getSpeechSupportedLanguages() -> [String] {
    let voices = AVSpeechSynthesisVoice.speechVoices()
    var languages: Set<String> = []
    let english = Locale(identifier: "en")
    voices.forEach{languages.insert(english.localizedString(forLanguageCode: $0.language)!)}
    return Array(languages).sorted()
}

2024年2月17日结果

无地区差异(共 33 个):

  1. 阿拉伯语
  2. 保加利亚语
  3. 加泰罗尼亚语
  4. 中文
  5. 克罗地亚语
  6. 捷克语
  7. 丹麦语
  8. 荷兰语
  9. 英语
  10. 芬兰语
  11. 法语
  12. 德语
  13. 希腊语
  14. 希伯来语
  15. 印地语
  16. 匈牙利语
  17. 印尼语
  18. 意大利语
  19. 日语
  20. 韩语
  21. 马来语
  22. 挪威博克马尔语
  23. 波兰语
  24. 葡萄牙语
  25. 罗马尼亚语
  26. 俄语
  27. 斯洛伐克语
  28. 西班牙语
  29. 瑞典语
  30. 泰语
  31. 土耳其语
  32. 乌克兰语
  33. 越南语

有地区变体(总共 44 个):

  1. 阿拉伯语(世界)
  2. 保加利亚语(保加利亚)
  3. 加泰罗尼亚语(西班牙)
  4. 中文(中国大陆)
  5. 中文(香港)
  6. 中文(台湾)
  7. 克罗地亚语(克罗地亚)
  8. 捷克语(捷克)
  9. 丹麦语(丹麦)
  10. 荷兰语(比利时)
  11. 荷兰语(荷兰)
  12. 英语(澳大利亚)
  13. 英语(印度)
  14. 英语(爱尔兰)
  15. 英语(南非)
  16. 英语(英国)
  17. 英语(美国)
  18. 芬兰语(芬兰)
  19. 法语(加拿大)
  20. 法语(法国)
  21. 德语(德国)
  22. 希腊语(希腊)
  23. 希伯来语(以色列)
  24. 印地语(印度)
  25. 匈牙利语(匈牙利)
  26. 印度尼西亚语(印度尼西亚)
  27. 意大利语(意大利)
  28. 日语(日本)
  29. 韩语(韩国)
  30. 马来语(马来西亚)
  31. 挪威博克马尔(挪威)
  32. 波兰语(波兰)
  33. 葡萄牙语(巴西)
  34. 葡萄牙语(葡萄牙)
  35. 罗马尼亚语(罗马尼亚)
  36. 俄语(俄罗斯)
  37. 斯洛伐克(斯洛伐克)
  38. 西班牙语(墨西哥)
  39. 西班牙语(西班牙)
  40. 瑞典语(瑞典)
  41. 泰语(泰国)
  42. 土耳其语(Türkiye)
  43. 乌克兰语(乌克兰)
  44. 越南语(越南)
© www.soinside.com 2019 - 2024. All rights reserved.