我正在尝试在用户设备 (macOS) 上识别在多个语言环境中使用的英语语音。WWDC 官方视频显示这是支持的。
但是,如果我尝试以系统设置以外的任何语言创建设备上语音识别器,则会失败。
import UIKit
import Speech
let speechRecogniser = SFSpeechRecognizer(locale: Locale(identifier: "en-IN"))
speechRecogniser?.supportsOnDeviceRecognition = true
print(speechRecogniser?.supportsOnDeviceRecognition)
返回假
let speechRecogniser = SFSpeechRecognizer(locale: Locale(identifier: "en-AU"))
speechRecogniser?.supportsOnDeviceRecognition = true
print(speechRecogniser?.supportsOnDeviceRecognition)
返回真
支持的语言环境
for locale in SFSpeechRecognizer.supportedLocales() {
print(locale)
}
返回以下内容:
es-CL(固定) es-419(固定) sv-SE(固定) de-DE(固定) en-GB(固定) es-CO(固定) hi-IN(固定) fr-CH(固定) ar- SA (固定) vi-VN (固定) de-CH (固定) en-US (固定) en-PH (固定) zh-HK (固定) ru-RU (固定) id-ID (固定) fi-FI (固定) tr-TR(固定) it-IT(固定) ja-JP(固定) uk-UA(固定) wuu-CN(固定) nl-NL(固定) da-DK(固定) cs-CZ(固定) fr-CA (固定) ms-MY (固定) he-IL (固定) zh-CN (固定) es-US (固定) hu-HU (固定) sk-SK (固定) fr-FR (固定) nl- BE(固定) es-MX(固定) en-AU(固定) zh-TW(固定) it-CH(固定) el-GR(固定) ko-KR(固定) ro-RO(固定) yue-CN(固定) pt-BR (固定) es-ES (固定) hi-Latn (固定) en-ZA (固定) en-NZ (固定) ca-ES (固定) en-IE (固定) fr-BE (固定) pt-PT (固定) en-ID (固定) en-SA (固定) hi-IN-translit (固定) en-IN (固定) nb-NO (固定) hr-HR (固定) en-CA (固定)英文-SG(固定) de-AT (固定) pl-PL (固定) th-TH (固定) en-AE (固定)
为了确认我的问题与这篇文章无关,我改变了我的 Siri 声音如下(它下载了额外的文件)。