【发布时间】:2021-11-27 06:50:45
【问题描述】:
我正在尝试实现 Android 的 SpeechRecognizer 功能。由于我公司的隐私限制,数据必须明确不能离开设备。
到目前为止:
- 我已经使用
SpeechRecognizer.createSpeechRecognizer方法实现了 SpeechRecognizer 类。当我在没有互联网的情况下尝试它时,它工作得很好! 但是,据我所知,谷歌不能保证在线时不会发送数据,如果不是为了转录,然后是为了改进他们的音频训练数据.. -
SpeechRecognizer.createOnDeviceSpeechRecognizer- 适用于 Android 12 及更高版本。假设我不介意。但是,它仅适用于特定设备,即。 Pixel 6,但即使在 Pixel 4a 中也没有。 -
putExtra(RecognizerIntent.EXTRA_PREFER_OFFLINE, true)- 这也不起作用。它一直给我错误:ERROR_NO_MATCH,在我尝试过的任何设备中。
所以这给我们留下了简单的SpeechRecognizer.createSpeechRecognizer,我的实现是这样的:
var recognizerIntent: Intent? = null
if (SpeechRecognizer.isRecognitionAvailable(applicationContext)) {
sr = SpeechRecognizer.createSpeechRecognizer(applicationContext)
val listener = MySpeechRecognitionListener(scopeProvider, lifecycleScope, {
...
}
sr.setRecognitionListener(listener)
recognizerIntent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH).apply {
putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH)
}
sr.startListening(recognizerIntent)
} else {...}
问题: 我们能否保证 Android 的 SpeechRecognizer 不会向 Google 发送数据?
【问题讨论】:
-
如果是 Android,我会假设任何东西都会发送给 Google。你可以随时问他们。
-
另请注意,Google 不是您唯一关心的问题。设备制造商还可以修改
SpeechRecognizer的工作方式。
标签: android speech-recognition offline privacy