Skip to content
阅读进度

如何使用 SpeechRecognizer 实现离线语音转文字? ​

返回 Agent 工程 目录

标准回答 ​

API 31 及以上先调用 SpeechRecognizer.isOnDeviceRecognitionAvailable 检查端侧识别服务,再用 createOnDeviceSpeechRecognizer 创建,设置监听器并按所需语言开始识别。仍需设备/服务支持该语言及相应模型;仅设置 RecognizerIntent.EXTRA_PREFER_OFFLINE 只是离线偏好,识别器可能忽略它。

通俗例子 ​

用户在飞机模式说话,若离线模型未安装就可能失败。先检查端侧能力与语言支持,再提供文字输入等替代方式。

深入解释 ​

**离线支持由谁提供:**SpeechRecognizer 是系统识别服务的客户端接口,具体识别引擎和离线语言资源由设备环境提供。调用一个偏好参数并不保证所有设备都离线识别。

**怎样设计可用流程:**先检查目标设备能力,测试断网与所需语言,监听错误并提供重试或触摸输入。语音识别出的文字还需要后续意图理解,不等于动作已确定。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。