在Android 1.5 SDK中已经加强了语音识别功能,第三方通过Intent就可以简单的使用这个功能!下面做简要说明!
先看页面布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:padding="5dip"> <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="语音识别" /> <ListView android:id="@+id/listView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#00000000"> </ListView> </LinearLayout>
说明:LinearLayout里面垂直放置了Button和ListView,通过Button的点击事件触发语音识别,然后把结果设置到ListView中。
Activity中的代码如下:
import java.util.ArrayList; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.speech.RecognizerIntent; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; public class RecognizerActivity extends Activity implements OnClickListener, OnItemClickListener { private static final int VOICE_RECOGNITION_REQUEST_CODE = 131422; private ListView mListView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mListView = (ListView) findViewById(R.id.listView1); mListView.setOnItemClickListener(this); ((Button) findViewById(R.id.button1)).setOnClickListener(this); } @Override public void onClick(View v) { mListView.setAdapter(null); try { 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); } catch (Exception e) { e.printStackTrace(); Toast.makeText(this, "不能语音识别", Toast.LENGTH_SHORT).show(); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && data != null) { ArrayList<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); if (results != null) { mListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, results)); Toast.makeText(this, results.toString(), Toast.LENGTH_SHORT).show(); super.onActivityResult(requestCode, resultCode, data); } } } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(this, parent.getAdapter().getItem(position).toString(), Toast.LENGTH_SHORT).show(); } }
说明:
- onCreate:获得相关View的引用,并设置对应的事件处理;
- onClick:清空ListView数据,并启动语音识别,如果系统没有Activity处理请求的Intent,以Toast形式提示;
- onActivityResult:获得语音识别后的结果并做相关处理;
- onItemClick:ListView中数据项点击事件处理------显示;
运行效果如图:
多说一句:当然还有其它方法实现语音识别,但此方法比较简单!:)
相关推荐
1. **Android语音识别API**:Android系统提供了一个内置的`SpeechRecognizer`类,它允许开发者实现基本的语音识别功能。通过调用`startListening()`方法,应用可以启动录音并发送到语音识别服务,然后接收识别结果。...
语音识别是一门交叉学科。近二十年来,语音识别技术取得显著进步,开始从实验室走向市场。人们预计,未来10年内,语音识别技术将进入工业、家电、通信、汽车电子、医疗、家庭服务、消费电子产品等各个领域。 语音...
在Android平台上实现离线语音识别是一项重要的技术挑战,特别是在需要高效、实时且隐私保护的场景下。本项目通过使用开源的PocketSphinx库,成功地实现了小范围语音的高精度识别,达到99%的识别率。PocketSphinx是...
语音识别技术是在Android SDK1.5中才加入的(RecognizerIntent),这里我们简单的分析一下自带的api例子,其实它就是通过一个Intent的Action动作来完成的。主要有以下两种模式: ACTION_RECOGNIZE_SPEECH:一般语音...
- 除了Android自带的服务,还可以使用第三方库,如`SpeechRecognitionClient`或`EasyTTS`,它们通常提供更丰富的功能和更好的用户体验。 6. **用户体验优化**: - 设计良好的用户界面,明确指示何时可以讲话,...
该模块采用Android SDK自带的语音识别服务,结合Google语音识别API,实现语音输入转化为文本。 4.2 天气查询模块 通过调用第三方天气API,如OpenWeatherMap,获取并解析天气数据,再以语音形式返回给用户。 4.3 ...
在这款Demo中,开发者可以学习如何集成科大讯飞的SDK,快速实现语音识别功能。值得注意的是,该Demo自带了必要的ID,这意味着开发者无需额外注册就能开始使用,但需要注意的是,它可能有限制的使用次数,对于商业...
- **离线模式**:虽然在没有网络的情况下功能受限,但部分识别功能可以在离线状态下使用。 - **高精度**:谷歌的语音识别技术在行业内享有高精度的声誉,尤其在清晰的语音环境下。 在安装`voice_search` APK时,...
在Android平台上实现语音朗读和语音识别功能,开发者通常会利用Google提供的Android Speech Recognition API以及Text-to-Speech (TTS)服务。以下是对这两个关键知识点的详细解释: **一、Android Speech ...
在Android Studio中开发一款集语音朗读和语音识别功能的APP是一项综合性的任务,涉及到多个技术领域。首先,我们需要理解语音技术的基本概念,这包括语音合成(TTS,Text-to-Speech)和语音识别(ASR,Automatic ...
讯飞语音官方自带demo导入android studio中经常报各种各样的错,上传的资源中往往很多都不能跑.....将资源中的id值改成自己的,把自己下载下来的libs里面的资源替换成自己就可以,或者参考我的项目结构,聪明如你...
Android实例源码-语音识别&文本朗读类安卓源代码(6例) Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率 PocketSphinxAndroidDemo 三个android语音识别例程mystt 语音合成和语音听写,科大讯飞,...
1. Android Speech Recognition API:这是Android系统自带的语音识别API,适用于简单的应用场景,但识别准确性和功能可能有限。 2. Google Cloud Speech-to-Text:提供高度准确的语音识别,支持实时和离线模式,...
人工智能-项目实践-计算机视觉-音视频流录制+同时语音识别+同时人脸识别+同时语音合成 介绍 这是录制视频+语音识别+人脸识别的demo 软件架构 录制视频用的分为录制音频流和视频流; 利用Android的Camera视频流,...
在Android平台上,语音识别与文本朗读是两个重要的功能,它们极大地增强了用户的交互体验,尤其对于无障碍使用和移动办公场景非常关键。本文将深入探讨这两个技术的实现原理、API使用以及实际开发中的注意事项。 ...
Android 特色开发之传感器和语音识别 Android 是一个面向应用程序开发的丰富平台,它拥有许多具有吸引力的用户界面元素、数据管理和网络应用等优秀的功能。Android 还提供了很多颇具特色的接口。本章我们将分别介绍...
speech_recognition一个使用语音识别的flutter插件iOS10 + / Android 4.1+基本示例Sytody,语音待办事项应用安装取决于o Speech_recognition一个使用语音识别的flutter插件iOS10 + / Android 4.1+基本示例Sytody,...
当用户使用语音识别功能时,数据通常会被匿名处理,并遵循Google的数据隐私政策。用户可以选择是否保存语音历史记录,以便于服务学习和提供更个性化的体验。 总的来说,Google的语音识别技术是Android生态系统中不...