zoukankan      html  css  js  c++  java
  • Android特色开发(2):语音识别

    参考书籍:《Android应用开发揭秘》第9章

    Android特色开发之语音识别:

            语音识别技术在手机上应用得相当广泛,我们日常最频繁的沟通方式是语音,在手机应用中,大部分是通过硬件手动输入,目前这依然是主要与手机互动的方式。

            Android语音识别按钮

    Android中主要通过RecognizerIntent来实现语音识别,它主要包括一些常量来表示语音的模式等,如表所示。

    RecognizerIntent包括的常量

    这里我们只需要通过Intent来传递一个动作以及一些属性,然后通过startActivityForResult来开始语音,代码如下:

         Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

         intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_

         MODEL_FREE_FORM);

         intent.putExtra(RecognizerIntent.EXTRA_PROMPT,"开始语音");

         startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);

    当然,如果找不到设置,就会抛出异常ActivityNotFoundException,所以我们需要捕捉这个异常。当然,另外需要实现onActivityResult方法,当语音结束时,会触发来获得语音的字符序列。

    下面通过一个例子来学习语音识别,当我们点击“开始使用语音识别”按钮时,开始语音,然后在onActivityResult方法中取得结果并显示出来,运行效果如图9-2所示。由于在模拟器上没有设备,所以显示了ActivityNotFoundException异常,当我们在真机上测试、开始语音时,如图9-3所示,语音结束后取出的字符序列如图9-4所示。

    图9-2ActivityNotFoundException异常    图9-3 开始语音                                    图9-4  获取的字符序列

    具体代码下载链接:http://www.apkbus.com/android-117062-1-1.html

    喜欢开源,乐意分享的大神们,欢迎加入QQ群:176507146,你值得拥有哦!

    作者:快乐出发0220 ;Android群:151319601 ; Linux群:96394158 ;转载请注明出处 http://klcf0220.cnblogs.com/ !!!
  • 相关阅读:
    __iter__方法demo
    开放封闭原则
    单例模式
    Python赋值、浅拷贝、深拷贝
    保留原页面的参数条件
    request.GET、request.POST、request.body(持续更新)
    面向对象的封装、继承、多态(持续更新)
    关于Form、ModelForm的一些操作(持续更新)
    创建类的两种方式
    Nginx深度优化
  • 原文地址:https://www.cnblogs.com/klcf0220/p/3088798.html
Copyright © 2011-2022 走看看