`

Android语音识别编程初步

 
阅读更多

 

 语音识别是一项让人感兴趣的功能,而且它是语音搜索等功能的基础,Android开发者很有必要掌握此技术,以开发出有受人喜欢的应用。

       Android中主要通过RecognizerIntent来实现语音识别,代码比较简单,但是这里要注意两个问题:

       1、如果找不到设置,就会抛出异常ActivityNotFoundException,所以我们需要捕捉这个异常。

       2、语音识别在模拟器上是无法测试的,因为语音识别是访问google云端数据,所以如果手机的网络没有开启,就无法实现识别声音一定要开启手机的网络,如果手机不存在语音识别功能的话,也无法启用识别!,这里要注意的是,可以从本地搜索识别数据,但是识别率要差一些,一般都是用的从web上搜索识别数据

 

  1. public class RecognizerIntentActivity extends Activity {   
  2.   
  3.     private Button btnReconizer;   
  4.     private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234;   
  5.     @Override  
  6.     protected void onCreate(Bundle savedInstanceState) {   
  7.         // TODO Auto-generated method stub   
  8.         super.onCreate(savedInstanceState);   
  9.         setContentView(R.layout.reconizer);   
  10.            
  11.         btnReconizer=(Button) this.findViewById(R.id.btnRecognizer);   
  12.         btnReconizer.setOnClickListener(new OnClickListener() {   
  13.                
  14.             @Override  
  15.             public void onClick(View v) {   
  16.                 // TODO Auto-generated method stub   
  17.                 try{   
  18.                 //通过Intent传递语音识别的模式,开启语音   
  19.                 Intent intent=new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);   
  20.                 //语言模式和自由模式的语音识别   
  21.                 intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); //LANGUAGE_MODEL_WEB_SEARCH(从web上搜索识别数据)  
  22.                 //提示语音开始   
  23.                 intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "开始语音");   
  24.                 //开始语音识别   
  25.                 startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);   
  26.                 }catch (Exception e) {   
  27.                     // TODO: handle exception   
  28.                     e.printStackTrace();   
  29.                     Toast.makeText(getApplicationContext(), "找不到语音设备", 1).show();   
  30.                 }   
  31.             }   
  32.         });   
  33.            
  34.     }   
  35.        
  36.     @Override  
  37.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {   
  38.         // TODO Auto-generated method stub   
  39.         //回调获取从谷歌得到的数据    
  40.         if(requestCode==VOICE_RECOGNITION_REQUEST_CODE && resultCode==RESULT_OK){   
  41.             //取得语音的字符   
  42.             ArrayList<String> results=data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);   
  43.                
  44.             String resultString="";   
  45.             for(int i=0;i<results.size();i++){   
  46.                 resultString+=results.get(i);   
  47.             }   
  48.             Toast.makeText(this, resultString, 1).show();   
  49.         }   
  50.         super.onActivityResult(requestCode, resultCode, data);   
  51.     }   
  52. }  

 

 最后不要忘记,在manifest中加入网络访问权限

XML/HTML代码
  1. <uses-permission android:name="android.permission.INTERNET" /> 

 

 

来自:http://www.jizhuomi.com/android/course/270.html

 

分享到:
评论

相关推荐

    三个android语音识别例程

    本教程将深入探讨三种不同的Android语音识别实现方法:通过Intent调用系统服务、通过Service进行后台识别以及自定义识别流程。 1. **通过Intent调用系统服务** Android系统内置了语音识别功能,开发者可以通过...

    android语音识别源码

    在Android平台上,语音识别是一项重要的功能,它允许用户通过...通过分析和研究提供的源代码,开发者不仅可以掌握Android语音识别的基本使用,还能了解到更多关于声音输入处理、多线程编程和用户体验设计的实战技巧。

    Android上PocketSphinx语音识别编程文件+swig-1.3.40

    本压缩包包含了进行Android上PocketSphinx语音识别编程所需的所有关键组件,以及用于Java和C/C++接口互操作的工具SWIG。 首先,Sphinxbase是PocketSphinx的基础,它提供了语音识别的基本框架和数据结构。这个库包括...

    android语音识别例程

    通过学习和实践这个“android语音识别例程”,开发者不仅可以掌握如何在Android应用中实现语音识别,还能了解到与之相关的用户体验设计、权限管理、错误处理等多个方面的知识,为构建更加智能化和交互友好的移动应用...

    android 语音识别转文字.rar

    在Android平台上实现语音识别...综上所述,实现Android语音识别转文字功能涉及到Android SDK的使用、语音识别API的调用、UI设计、异步编程、错误处理等多个方面,需要开发者具备扎实的Java基础和Android应用开发经验。

    android离线语音识别

    在Android平台上实现离线语音识别是一项技术挑战,但可以通过使用开源工具如CMU Sphinx来达成。CMU Sphinx是一个强大的语音识别引擎,它支持离线模式,特别适合在没有网络连接或者对数据隐私有高要求的场景下使用。...

    百度实时语音识别Demo

    【百度实时语音识别Demo】是基于Android平台的一个应用示例,它展示了如何集成并使用百度的语音识别技术。这个Demo让用户体验到通过长按按钮说话,系统就能将语音转化为文字的功能,大大提升了用户输入信息的效率,...

    android语音识别技术,纯手工编写

    一、Android语音识别基础 Android系统自3.0(API级别11)开始内置了语音识别服务,通过`SpeechRecognizer`类提供接口供开发者使用。`SpeechRecognizer`是系统服务,用于启动语音识别并接收识别结果。首先,我们需要...

    自制百度语音识别unity插件(unity 2017版android版)

    综上所述,这个项目涉及的技术栈包括Unity3D、C#编程、Android开发、Java Native Interface、百度语音识别SDK以及跨平台应用开发的最佳实践。通过这个插件,开发者可以在Unity项目中轻松地实现语音识别功能,为用户...

    百度语音合成 语音识别 DEMO

    【百度语音合成与语音识别DEMO】是百度开放云平台提供的一项强大技术,它整合了两项关键功能:语音合成和语音识别。这项技术在多个领域都有广泛应用,如智能音箱、移动应用、在线教育、自动驾驶等,极大地提升了人机...

    Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率-IT计算机-毕业设计.zip

    在Android平台上进行移动应用开发时,离线语音识别是一个重要的功能,特别是在无法连接到网络或者为了节省数据流量和提高响应速度的场景下。本项目利用开源的PocketSphinx库实现了一个离线语音识别系统,其在小范围...

    android语音控制源代码

    Android系统内置了语音识别功能,主要依赖于`SpeechRecognizer`类,它提供了与语音识别服务交互的接口。开发者可以创建一个`SpeechRecognizer`实例,然后向其发送语音识别请求,获取识别结果。同时,`...

    android 语音识别

    android 语音识别

    android_app:openCV +语音识别

    在Android应用开发中,将OpenCV(开源计算机视觉库)与语音识别技术结合可以实现一些高级功能,如图像处理、视觉交互以及语音控制等。这个项目"android_app:openCV +语音识别"很可能是创建一个Android应用程序,它...

    unity3d+讯飞API语音识别听写

    而“unity3d+讯飞API语音识别听写”项目则结合了Unity3D与科大讯飞的语音识别技术,实现了在不同平台上(如PC和Android)的语音输入功能。科大讯飞是全球领先的语音技术提供商,其提供的WebSocket接口使得开发者可以...

    Android编程之语音识别实现方法

    在Android编程中,实现语音识别主要依赖于`RecognizerIntent`类,它是Android SDK提供的一种用于启动系统内置语音识别服务的工具。下面我们将详细探讨如何在Android应用中集成和使用语音识别功能。 首先,`...

    ReactNative下的科大讯飞语音库可以进行语音识别与语音合成

    本文将详细探讨如何在React Native项目中集成科大讯飞的语音识别与语音合成功能,以及相关的JavaScript开发和混合移动开发知识。 首先,`React Native`是Facebook推出的一个开源框架,它允许开发者使用JavaScript和...

    安卓语音识别文本朗读相关-PocketSphinxAndroidDemo.zip

    对于初学者,通过分析`PocketSphinxAndroidDemo`的源码,可以了解如何在安卓应用中集成语音识别和文本朗读,理解相关的API使用,如`edu.cmu.pocketsphinx.SpeechRecognizer`和`android.speech.tts.TextToSpeech`。...

    phonegap语音识别.rar

    PhoneGap语音识别技术是移动应用开发中的一个重要领域,尤其对于新手开发者来说,它提供了一种简单易学的方式,将自然语言处理集成到他们的应用程序中。PhoneGap是一个流行的开源框架,它允许开发者使用HTML、CSS和...

    Android-百度语音识别代码 .zip

    【Android-百度语音识别代码 .zip】是一个包含与Android平台上的百度语音识别技术相关的源码和资源文件的压缩包。这个压缩包旨在为开发者提供一个参考实现,以便他们能够理解和集成百度的语音识别功能到自己的...

Global site tag (gtag.js) - Google Analytics