我正在尝试使iOS 13 OnDevice语音识别正常工作。但是,验证supportsOnDeviceRecognition标志(这是启用OnDevice识别的第一步)始终返回false。我将iPad 6th Gen与iOS 13.3配合使用。我在其他设备上测试了supportsOnDeviceRecognition标志,并看到它仅对某些设备有效。
private var speechRecognizer = SFSpeechRecognizer(locale: Locale(identifier: "en_US"))
.
.
.
if #available(iOS 13, *) {
if speechRecognizer?.supportsOnDeviceRecognition ?? false {
recognitionRequest.requiresOnDeviceRecognition = true
}
}
我根据以下注释在两次读取之间延迟了几秒钟后尝试多次读取supportsOnDeviceRecognition,但这无济于事。
根据iOS 13发行说明:
supportsOnDeviceRecognition属性始终在首次访问时返回false。几秒钟后,再次访问它会返回正确的值。
有人遇到过类似的问题以及如何解决吗?
我得到了标记supportsOnDeviceRecognition,最终返回true。我必须转到“设置”>“ Siri和搜索”>“ Siri语音”。。我注意到选择了美国人(我想要的那个),并且它开始下载方言。下载完成后,重新启动设备,该标志变为true。