今天寫一下Kotlin 語音轉文字
其實很簡單 利用recognizerIntent就可以了
val intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH)
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "請說話..."); //語音辨識 Dialog 上要顯示的提示文字
startActivityForResult(intent, 1);
利用recognizerIntent 完後傳回結果
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode === 1) {
if (resultCode == RESULT_OK) {
//把所有辨識的可能結果印出來看一看,第一筆是最 match 的。
val result = data!!.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS)
var all = ""
for (r in result) {
all = all + r + "\n"
}
et_message.setText(result.get(0))
}
}
完成
這個功能也可以做成不用跳出畫面 有空再來完成
現在這個功能有點BUG 之後會再修改一下