有没有办法在脱机模式下使用iOS语音识别?

有没有办法在脱机模式下使用iOS语音识别?,ios,swift,speech-recognition,apple-speech,Ios,Swift,Speech Recognition,Apple Speech,我想知道是否有办法在离线模式下使用iOS语音识别。根据文档()我没有看到任何关于它的信息。我恐怕没有办法做到这一点(但是,请确保在回答的最后检查更新) 如会议所述: 实现卓越用户体验的最佳实践: 准备好处理达到语音识别极限可能导致的故障。 由于语音识别是一项基于网络的服务,因此限制非常有限 强制执行,以便该服务可以对所有应用程序免费提供 从最终用户的角度来看,在不连接网络的情况下尝试获得Siri的帮助时,应显示类似于以下内容的屏幕: 此外,当您尝试发送信息时(例如),您会注意到,如果设备未连

我想知道是否有办法在离线模式下使用iOS语音识别。根据文档()我没有看到任何关于它的信息。

我恐怕没有办法做到这一点(但是,请确保在回答的最后检查更新)

如会议所述:

实现卓越用户体验的最佳实践:

准备好处理达到语音识别极限可能导致的故障。 由于语音识别是一项基于网络的服务,因此限制非常有限 强制执行,以便该服务可以对所有应用程序免费提供


从最终用户的角度来看,在不连接网络的情况下尝试获得Siri的帮助时,应显示类似于以下内容的屏幕:

此外,当您尝试发送信息时(例如),您会注意到,如果设备未连接到网络,则应禁用mike按钮

从本质上讲,iOS本身在检查网络连接之前无法实现此功能,我假设第三方开发人员在使用语音框架时也是如此


更新: 看了之后(特别是03:00-03:25),我想到了:

语音识别API通常需要互联网连接,但有些新设备始终支持此功能;您可能需要检查给定的语言是否可用

改编自:

请注意,受支持的语音识别器与语音识别器不同 可用语音识别器;例如,某些应用程序的识别器 区域设置可能需要Internet连接。你可以使用
支持​Locales()
方法,以获取受支持的区域设置和
是​可用
属性,以确定特定 区域设置可用


进一步阅读:

这些主题可能是相关的:


    • 从iOS 13开始,离线转录将可用。您可以使用来启用它

      示例代码(Swift 5):
      您可以使用软件键盘上的麦克风按钮在文本字段和文本视图中口述。它在脱机模式下工作。但不要认为解释语音命令。@Magnas您确定即使在脱机模式下也应该启用麦克风按钮吗?我在四个不同的iPhone上测试过,结果它被禁用了……我的@AhmadF也是如此,当离线模式打开时,我的应用程序中的麦克风按钮不可用()。嗯,默认情况下,我的应用程序中的麦克风按钮是打开的。我会仔细检查的。好的,谢谢你的回答@AhmadF!不幸的是,我在提问之前得出了相同的结论。:/是不是因为语音框架是iOS 10之后新诞生的,将来可能会有所改进?让我们等一等,莱尔…@DanylS我希望如此。。。不过,它确实支持离线模式,但我认为这适用于少数情况,请查看我的更新答案:)我只是看了一下,谢谢@AhmadF,它对我非常有用。你能告诉我更多关于哪些iPhone型号受支持的细节吗?@DanylS老实说,我现在还不知道:D,我会在得到信息后更新我的答案;问题是,在检查是否有internet连接之前,您应该先检查设备是否支持区域设置。@ZaidPathan很乐意提供帮助,到目前为止还没有关于此的更新,但是,如果需要更新,我可以在评论中提到您:)
      // Create and configure the speech recognition request.
      recognitionRequest = SFSpeechAudioBufferRecognitionRequest()
      guard let recognitionRequest = recognitionRequest else { fatalError("Unable to create a SFSpeechAudioBufferRecognitionRequest object") }
      recognitionRequest.shouldReportPartialResults = true
      
      // Keep speech recognition data on device
      if #available(iOS 13, *) {
          recognitionRequest.requiresOnDeviceRecognition = true
      }