當前位置:編程學習大全網 - 源碼下載 - 如何在調用訊飛語音API時不彈出”請說話“對話框,又能完成語音識別的功能

如何在調用訊飛語音API時不彈出”請說話“對話框,又能完成語音識別的功能

現在app的開發進程會集成壹些語音識別功能,而壹般開發者是不具備自己開發壹套語音識別引擎的,因此大多數情況是選擇壹個已經成熟的語音識別引擎SDK集成到自己的app中。

通常情況下,這種集成分兩種,壹種是直接調用SDK為開發者設計好的彈出框,開發者不需要開發識別交互界面;還有壹種是開發者只利用SDK提供的語音識別服務,自己開發壹個屬於自己的交互設計。

本文介紹最簡單直接調起彈出框的方法。

首先,測試機需要安裝如谷歌語音、百度語音、訊飛語音等產品的語音軟件,這時可以在系統設置界面的語言與輸入處找到相關的語音識別功能列表。然後就可以直接調用了。

下面是調用的步驟:

首先:在Activity中實例壹個intent,intent的action設置為RecognizerIntent.ACTION_RECOGNIZE_SPEECH或者RecognizerIntent.ACTION_WEB_SEARCH,關於RecognizerIntent可以查看本博客之前的文章,然後調用壹個帶返回結果的操作

<pre name="code" class="java">@Override

public void onClick(View v) {

Intent intent=new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

//Intent intent=new Intent(RecognizerIntent.ACTION_WEB_SEARCH);

startActivityForResult(intent, 0);

}

然後:在返回結果中取出攜帶字符串RecognizerIntent.EXTRA_RESULTS對應的結果,android語音識別服務統壹將結果以ArrayList<String>形式返回,如下代碼

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

ArrayList<String> results = data

.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

Log.i("zpf", results.get(0).toString());

}

另外,需要在配置文件中添加:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

<uses-permission android:name="android.permission.INTERNET" />

  • 上一篇:編程中國源代碼
  • 下一篇:如何部署ipfs?我能把ipfs放在網站上嗎?
  • copyright 2024編程學習大全網