`

Android 语音输入API使用

 
阅读更多

原文链接:http://www.javaarch.net/jiagoushi/782.htm

 

 

Android 语音输入API使用

Android已经支持语音输入的API了,不过不知道中文输入识别效果怎么样。这里给一个怎么使用语音输入的示例

首先在android工程中的页面布局文件中res/layout/main.xml添加一个button和text

	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
		xmlns:tools="http://schemas.android.com/tools"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:layout_above="@+id/textView1"
		android:layout_toLeftOf="@+id/textView1"
		android:gravity="center"
		android:orientation="vertical" >
	 
		<ImageButton
			android:id="@+id/btnSpeak"
			android:layout_width="fill_parent"
			android:layout_height="wrap_content"
			android:layout_margin="10dp"
			android:layout_marginRight="10dp"
			android:layout_marginTop="10dp"
			android:contentDescription="@string/speak"
			android:src="@android:drawable/ic_btn_speak_now" />
	 
		<TextView
			android:id="@+id/txtText"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:layout_marginLeft="10dp"
			android:layout_marginRight="10dp"
			android:layout_marginTop="10dp"
			android:textAppearance="?android:attr/textAppearanceLarge" />
	 
	</LinearLayout>
	
active类SpeechToTextDemoActivity.java

	package net.viralpatel.android.speechtotextdemo;
	 
	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.Menu;
	import android.view.View;
	import android.widget.ImageButton;
	import android.widget.TextView;
	import android.widget.Toast;
	 
	public class MainActivity extends Activity {
	 
		protected static final int RESULT_SPEECH = 1;
	 
		private ImageButton btnSpeak;
		private TextView txtText;
	 
		@Override
		public void onCreate(Bundle savedInstanceState) {
			super.onCreate(savedInstanceState);
			setContentView(R.layout.activity_main);
	 
			txtText = (TextView) findViewById(R.id.txtText);
	 
			btnSpeak = (ImageButton) findViewById(R.id.btnSpeak);
	 
			btnSpeak.setOnClickListener(new View.OnClickListener() {
	 
				@Override
				public void onClick(View v) {
	 
					Intent intent = new Intent(
							RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
	 
					intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
	 
					try {
						startActivityForResult(intent, RESULT_SPEECH);
						txtText.setText("");
					} catch (ActivityNotFoundException a) {
						Toast t = Toast.makeText(getApplicationContext(),
								"Opps! Your device doesn't support Speech to Text",
								Toast.LENGTH_SHORT);
						t.show();
					}
				}
			});
	 
		}
	 
		@Override
		public boolean onCreateOptionsMenu(Menu menu) {
			getMenuInflater().inflate(R.menu.activity_main, menu);
			return true;
		}
	 
		@Override
		protected void onActivityResult(int requestCode, int resultCode, Intent data) {
			super.onActivityResult(requestCode, resultCode, data);
	 
			switch (requestCode) {
			case RESULT_SPEECH: {
				if (resultCode == RESULT_OK && null != data) {
	 
					ArrayList<String> text = data
							.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
	 
					txtText.setText(text.get(0));
				}
				break;
			}
	 
			}
		}
	}
	
这里android.speech是Android语音输入的核心包,android.speech.RecognizerIntent是一个主要的类,这个active会弹出一个语音输入对话框,然后接收语音输入,识别语音内容转为文本,但我们启动语音输入active后,需要通过startActivityForResult()方法接收文本结果。在.putExtra()方法还需要输入RecognizerIntent.EXTRA_LANGUAGE_MODE语言类型,这里是en-US。

我们通过覆盖onActivityResult(int requestCode, int resultCode, Intent data)方法来处理结果数据,通过data获取key为RecognizerIntent.EXTRA_RESULTS来接收文本内容list,然后设置到text框上。

示例代码地址:http://viralpatel-net-tutorials.googlecode.com/files/SpeechToTextDemo.zip

 

 

分享到:
评论
2 楼 ls0609 2017-08-08  
语音实现在线听书
http://blog.csdn.net/ls0609/article/details/71519203
1 楼 wangli61289 2016-11-03  
http://viralpatel-net-tutorials.googlecode.com/files/SpeechToTextDemo.zip
楼主,下载不了,地址不存在

相关推荐

    android 语音识别demo

    代码是简单的语音识别demo,使用的是科大讯飞的api,想看的同学可以看看。

    Android手机语音录入软件设计和实现

    2.3 Android的API 5 3 方案设计 8 3.1 系统分析 8 3.1.1 研究目标 8 3.1.2 需求分析 8 3.1.3 性能分析 8 3.2 界面设计 8 3.3 Activity切换 9 3.4 musicplayer的常用方法介绍 11 3.5 程序模块设计 12 4程序开发 13 ...

    Android 实现语音识别 DEMO

    语音识别,借助于云端技术可以识别用户的语音输入,包括语音控制等技术,下面我们将利用Google 提供的Api 实现这一功能。 功能点为:通过用户语音将用户输入的语音识别出来,并打印在列表上。 blog地址:...

    Android TTS 文字转语音实例

    Android studio开发的基于Android原生的API做的文字转语音demo。代码简单,自定义输入文字后点击按钮朗读。运行的设备需要装有语音引擎,常用的有度秘语音、讯飞、谷歌等。

    Android实现语音合成与识别功能

    Android语音合成与语音识别,供大家参考,具体内容如下 这里调用科大讯飞语音的API,语音云开放平台介绍 调用科大讯飞语音的API,需要加添库文件Msc.jar,添加libmsc.so文件,还需添加权限,具体步骤可参看SDK里的文档 ...

    轻松实现Android语音识别功能

    语音识别,借助于云端技术可以识别用户的语音输入,包括语音控制等技术,下面我们将利用Google 提供的Api 实现这一功能。 功能点为:通过用户语音将用户输入的语音识别出来,并打印在列表上。 * Copyright (C) ...

    speechpad:使用Yandex SpeechKit进行翻译的Android语音笔记本应用程序

    #SpeechPad ###进度10% 一个带有语音控制和语音输入以及... 用Java语言编写的带Translate的示例Android语音笔记本应用程序概述这是简单的笔记本,支持语音输入和翻译。 用途: 用于语音识别 Android Studio屏幕截图

    OXAndroidDemo:这是一个使用 Open-Xchange HTTP API 以及 Android 语音识别功能来执行简单任务的示例应用程序

    这是一个使用 Open-Xchange HTTP API 以及 Android 语音识别功能来执行简单任务的示例应用程序。 特征: OX 登录(在设置中更改 URL 和凭据!) 获取标准任务文件夹语音识别创建简单任务从标准任务文件夹中获取所有...

    Translate-Language_Translator:一个允许您在90多种语言之间翻译文本和短语的Android应用。 它支持语音输入和语音输出功能

    它支持语音输入和语音输出功能。 要使用该应用程序,您需要添加定义如下的名为APIKeys.java文件: package me.rishavagarwal.translate ; public class APIKeys { private static final String TRANSLATE_API_KEY...

    在线APP语音识别,可以直接使

    Google语音输入:Google语音输入是一款由Google公司推出的在线语音输入工具,它可以将用户的语音转换成文字,并在手机或电脑上进行编辑或发送。虽然目前只支持英语和西班牙语等少数语言,但其准确率和速度都很高。

    android开发秘籍

    1.7.4 使用android 调试桥 13 1.7.5 签名和发布应用 14 1.8 android market 14 1.8.1 最终用户许可协议 14 1.8.2 提升应用程序的曝光率 15 1.8.3 脱颖而出 15 1.8.4 为应用程序收费 15 1.8.5 管理评论和更新 ...

    Android实现语音识别代码

    语音识别,借助于云端技术可以识别用户的语音输入,包括语音控制等技术,下面我们将利用Google 提供的Api 实现这一功能。 功能点为:通过用户语音将用户输入的语音识别出来,并打印在列表上。 功能界面如下:   ...

    Google Android SDK开发范例大全(第3版) 1/5

    完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等。 Google Map应用:GPS定位、规划导航路径、GPS Google地图...

    Google Android SDK开发范例大全(第3版) 4/5

    完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等。 Google Map应用:GPS定位、规划导航路径、GPS Google地图...

    Google Android SDK开发范例大全(第3版) 3/5

    完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等。 Google Map应用:GPS定位、规划导航路径、GPS Google地图...

    Google Android SDK开发范例大全(第3版) 5/5

    完备的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等。 Google Map应用:GPS定位、规划导航路径、GPS Google地图...

    《Google Android SDK开发范例大全(第3版)》.pdf

     全书共分11章,主要以范例集的方式来讲述android的知识点,详细介绍了开发android的人机交互界面、android常用的开发控件、android手机收发短信等通信服务、开发android手机的自动服务功能和娱乐多媒体功能以及...

    基于ChatGPT的安卓端语音助手(国内可用),可通过音量键唤起并进行语音交流,支持网络访问、连续对话、提问模板

    使用华为或百度语音API进行语音输入 调用系统TTS引擎输出语音 基础使用:仅用音量键就可以操控 长按音量下键唤出界面 按住音量键不放,开始语音输入 松开后再次短按,发送问题 接收回复的同时可以自动通过语音...

    基于ChatGPT的安卓端语音助手

    这是一个基于ChatGPT的安卓端语音助手,允许用户通过手机音量键从任意界面唤起并直接进行语音交流,用最快捷的方式询问并获取回复 ...使用华为或百度语音API进行语音输入 调用系统TTS引擎输出语音

Global site tag (gtag.js) - Google Analytics