Android引入了对语音识别的支持。语音识别主要位于android.speech包中,主要的类包括SpeechRecognizer、RecognitionService、RecognizerIntent、RecognizerResultsIntent、RecognitionListener等类和接口。

SpeechRecognizer提供了接入语音识别服务的接口,下面是SpeechRecognizer的常用方法:

<span style="font-size:18px;">  createSpeechRecognizer()    //创建语音识别器        setRecognitionListener()    //设置监听器        startListening()    //开始语音识别        stopListening()    //结束语音识别</span>

语音识别要求"android.permission.RECORD_AUDIO"权限。

为了进行语音识别,首先需要发布一个语音识别的Activity,然后系统会启动语音识别引擎,并对用户的语音进行处理,处理的结果将会通过onActivityResult()方法被返回。下面是Android中的一个实现:

SpeechRecognizer sr = SpeechRecognizer.createSpeechRecognizer(this, new ComponentName(getPackageName(),                BDRecognitionService.class.getName()));        sr.setRecognitionListener(new listener());        sr.startListening(new Intent(getIntent().getAction()).putExtras(getIntent()));

回调方法

<span style="text-indent: 24px; background-color: rgb(240, 240, 240);">class listener implements RecognitionListener{</span>        @Override        public void onReadyForSpeech(Bundle params) {                    }        @Override        public void onBeginningOfSpeech() {                    }        @Override        public void onRmsChanged(float rmsdB) {                    }        @Override        public void onBufferReceived(byte[] buffer) {                   }        @Override        public void onEndOfSpeech() {                }        @Override        public void onError(int error) {                                }        @Override        public void onResults(Bundle results) {                        //具体处理识别结果        }        @Override        public void onPartialResults(Bundle partialResults) {                              }        @Override        public void onEvent(int eventType, Bundle params) {                   }            }


 注意:android虽然提供了该接口,但是没有提供具体的识别功能  

new ComponentName(getPackageName(),BDRecognitionService.class.getName())

因此实例化时的参数指定了具体实现功能的service,这就需要开发者实现RecognitionService这个服务接口,下一篇文章将介绍如何实现该类。




更多相关文章

  1. 整理android环境离线安装搭建方法——支持android 2.3.3和androi
  2. Android电话拨号器实现方法
  3. Android:UI更新方法四:在Worker Thread中runOnUiThread直接刷新U
  4. Android 获取屏幕高宽度,密度,通知栏高度,截图等常用方法
  5. Android退出程序的多种方法

随机推荐

  1. Android 动态增加控件(转)
  2. android实现自定义控件及如何在其他项目
  3. Android保存照片到相册
  4. Android进程学习
  5. Android日志消息的生成详细步骤
  6. Android进程保活-自“裁”或者耍流氓
  7. Android后台保活实践总结:即时通讯应用无
  8. focusable ,focusableInTouchMode,控件焦点
  9. android 更改avd路径
  10. 避免Android内存泄露