在ACTION_RECOGNIZE_SPEECH状态,可以取得被识别的语音的文字串。
在ACTION_WEB_SEARCH模式下,通过网络检索被识别的语音,并表示结果到画面上。
运行结果
运行后,按下按钮,语音识别画面启动,面向麦克风讲几句话,
被识别出来后,结果会表示出来。
但是,能够响应这个Intent的Activity没有被安装的时候,例如模拟器状态下,
会发生ActivityNotFoundException例外,应该用try-catch来捕捉。
※开发用手机ADP1上可以动作。
import java.util.ArrayList;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.adakoda.voicerecognitiontest.R.id;
public class VoiceRecognitionTestActivity extends Activity {
// = 0的部分,请用适当的值替换
private static final int REQUEST_CODE = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
// Intent作成
Intent intent = new Intent(
RecognizerIntent.ACTION_RECOGNIZE_SPEECH); // ACTION_WEB_SEARCH
intent.putExtra(
RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(
RecognizerIntent.EXTRA_PROMPT,
"VoiceRecognitionTest"); // 可以替换成您喜欢的文字
// Intent发行
startActivityForResult(intent, REQUEST_CODE);
} catch (ActivityNotFoundException e) {
// 如果没有安装可以应答这个Intent的Activity的时候,显示一条消息
Toast.makeText(VoiceRecognitionTestActivity.this,
"ActivityNotFoundException", Toast.LENGTH_LONG).show();
}
}
});
}
// Activity终了的时候,会调用onActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// 应答自己抛出的intent,
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String resultsString = "";
// 结果文字列数组
ArrayList<String> results = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
for (int i = 0; i< results.size(); i++) {
// 结合复数个文字列
resultsString += results.get(i);
}
// 表示结果
Toast.makeText(this, resultsString, Toast.LENGTH_LONG).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/button"
android:text="Click to start"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
分享到:
相关推荐
总的来说,这个"android 语音识别转文字.zip"压缩包是一个集成了多种语音处理功能的DEMO,包括语音识别、文字转语音、录音、播放和文件管理等,对于学习和开发Android语音应用的开发者来说,是一个非常有价值的参考...
本篇将深入探讨如何在Android中实现语音识别,并基于提供的"Android语音识别软件代码"进行详细解析。 首先,我们要了解Android系统内置的`SpeechRecognizer`类,它是Android SDK中的核心组件,用于实现语音识别功能...
本示例项目“android语音识别demo”采用的是科大讯飞(IFlytek)的API,这是一个在中国广泛使用的语音识别服务提供商。下面将详细介绍这个demo的实现原理和关键知识点。 1. **科大讯飞API**:科大讯飞提供了多种...
本资源“Android语音识别源码”提供了一个深入理解并实现这一功能的绝佳机会。接下来,我们将详细探讨Android语音识别的核心概念、工作流程以及源码解析。 一、Android语音识别基础 1. **API介绍**:Android系统...
在Android平台上实现语音实时传输,通常涉及到网络编程、音频处理以及用户...以上所述是Android语音实时传输应用的关键技术点,开发过程中需要综合运用这些知识,确保语音数据的准确、高效传输,并提供良好的用户体验。
这个“Android语音输入小例子”很可能是演示如何在应用中集成和使用这一功能的一个示例项目。让我们深入了解一下Android系统中的语音输入功能及其实现。 1. **Android SDK中的语音识别服务** Android系统从1.6版本...
总结来说,"android语音输入波动Demo"是一个教学实例,它涵盖了Android语音识别、音频数据处理、自定义视图绘制以及权限管理等多个技术点,对于学习和实践Android语音交互功能非常有帮助。通过深入理解并实践这个...
本示例“android语音识别demo”是基于百度语音识别SDK开发的,旨在帮助开发者快速理解和集成这一功能。 首先,我们要理解的是百度语音识别SDK。这是一个由百度提供的服务,它提供了丰富的语音识别能力,包括离线...
综上所述,创建一个Android语音助手DEMO需要结合Android SDK中的语音服务API,配合第三方库和自定义的对话逻辑,以实现一个完整的交互体验。对于初学者来说,这个DEMO是一个很好的起点,可以帮助他们了解并掌握语音...
本文将深入探讨如何利用Android API实现这一功能,并基于提供的"android语音识别+语音搜索源码"进行分析。 首先,Android系统提供了`SpeechRecognizer`类,它是进行语音识别的核心组件。我们可以通过创建`...
二、Android语音识别的实现方法 1. 使用系统内置服务:Android提供了SpeechRecognizer类,它是一个接口,用于与系统级的语音识别服务交互。开发者可以通过创建SpeechRecognizer对象,设置识别监听器,然后调用start...
Android语音识别技术主要涉及两个核心部分:使用科大讯飞(IFlytek)SDK和Google的语音识别服务。以下是这两个部分的详细说明。 1. **科大讯飞语音识别** 科大讯飞是中国领先的语音识别技术提供商,其SDK(Msc....
### Android语音合成技术详解 #### 一、引言 随着移动设备功能的不断增强与多样化,Android平台上的语音合成(Text-to-Speech, TTS)技术变得越来越重要。语音合成引擎不仅能够帮助视障用户更好地使用手机,还能应用...
"android语音源代码"这个主题,结合描述中的信息,显然关注的是Android设备上的录音功能实现。下面将详细介绍Android录音功能的实现及其核心知识点。 首先,Android提供了一个名为`MediaRecorder`的类,它是实现...
本项目是基于科大讯飞的资源库实现的Android语音转文字功能。首先,我们需要在科大讯飞的开发者平台上注册账号,申请相应的AppID和密钥,这些是调用语音识别API的必要凭证。在注册并获取到这些信息后,我们可以将...
这个“android语音合成demo”是一个展示如何在Android应用中实现这一功能的示例项目。下面我们将深入探讨这个话题,包括其核心组件、工作原理、使用步骤以及涉及的相关文件。 1. **核心组件**: - **TextToSpeech*...
在Android平台上,开发语音相关的功能是一项常见的任务,其中包括语音播报、后台播报以及语音识别。本文将详细介绍如何使用讯飞语音SDK来实现这些功能,并提供必要的技术细节和实践步骤。 一、语音播报 讯飞语音SDK...
在这个名为“安卓语音识别文本朗读相关-三个android语音识别例程mystt.rar”的压缩包中,包含了一些用于理解和实践这两种技术的源代码示例。虽然无法一一验证每个示例的可用性,但它们可以作为开发者学习和参考的...