- 在build.gradle文件中添加依赖库:
implementation "androidx.activity:activity-ktx:1.3.1"
- 创建一个ActivityResultLauncher对象来处理语音转文字的结果。这个对象需要实现接口ActivityResultCallback,用于在结果返回时进行处理:
private val voiceToTextLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
result?.data?.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS)?.let {
val recognizedText = it[0]
// 处理识别出来的文字
}
}
}
- 创建调起语音转文字的意图并启动:
val intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH).apply {
putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM)
putExtra(RecognizerIntent.EXTRA_PROMPT, "Speak something...")
}
voiceToTextLauncher.launch(intent)