Android 通过调用系统,如接口 谷歌语音、百度语音、科大讯飞语音等语音识别方法对话框

现在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" />


版权声明:本文博客原创文章,博客,未经同意,不得转载。

你可能感兴趣的:(android)