轻松实现Android语音识别功能

苹果的iphone有语音识别用的是Google的技术,做为Google力推的Android 自然会将其核心技术往Android 系统里面植入,并结合google 的云端技术将其发扬光大。

所以Google Voice Recognition在Android 的实现就变得极其轻松。

语音识别,借助于云端技术可以识别用户的语音输入,包括语音控制等技术,下面我们将利用Google 提供的Api 实现这一功能。

功能点为:通过用户语音将用户输入的语音识别出来,并打印在列表上。

* Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * <a href="http://www.apache.org/licenses/LICENSE-2.0" rel="nofollow" target="_blank">http://www.apache.org/licenses/LICENSE-2.0</a> * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.example.android.apis.app; import com.example.android.apis.R; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Bundle; import android.speech.RecognizerIntent; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import java.util.ArrayList; import java.util.List; /** * Sample code that invokes the speech recognition intent API. */ public class VoiceRecognition extends Activity implements OnClickListener { private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234; private ListView mList; /** * Called with the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Inflate our UI from its XML layout description. setContentView(R.layout.voice_recognition); // Get display items for later interaction Button speakButton = (Button) findViewById(R.id.btn_speak); mList = (ListView) findViewById(R.id.list); // Check to see if a recognition activity is present PackageManager pm = getPackageManager(); List activities = pm.queryIntentActivities( new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0); if (activities.size() != 0) { speakButton.setOnClickListener(this); } else { speakButton.setEnabled(false); speakButton.setText("Recognizer not present"); } } /** * Handle the click on the start recognition button. */ public void onClick(View v) { if (v.getId() == R.id.btn_speak) { startVoiceRecognitionActivity(); } } /** * Fire an intent to start the speech recognition activity. */ private void startVoiceRecognitionActivity() { Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo"); startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE); } /** * Handle the results from the recognition activity. */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) { // Fill the list view with the strings the recognizer thought it could have heard ArrayList matches = data.getStringArrayListExtra( RecognizerIntent.EXTRA_RESULTS); mList.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, matches)); } super.onActivityResult(requestCode, resultCode, data); } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-09-27 14:45:43

轻松实现Android语音识别功能的相关文章

轻松实现Android语音识别功能_Android

苹果的iphone有语音识别用的是Google的技术,做为Google力推的Android 自然会将其核心技术往Android 系统里面植入,并结合google 的云端技术将其发扬光大. 所以Google Voice Recognition在Android 的实现就变得极其轻松. 语音识别,借助于云端技术可以识别用户的语音输入,包括语音控制等技术,下面我们将利用Google 提供的Api 实现这一功能. 功能点为:通过用户语音将用户输入的语音识别出来,并打印在列表上. * Copyright (

轻松实现Android指南针功能_Android

本文实例为大家讲解如何轻松实现Android指南针功能,分享给大家供大家参考.具体如下: (1)布局文件如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" and

Android勒索软件变种出新花样:具备语音识别功能

根据安全研究机构赛门铁克发布的最新公告显示,Android勒索软件变种出现了语音识别方式,最新Android.Lockdroid.E变体具备语音识别功能,通过使用语音识别来代替文本输入解锁码. 新变种工作机制 该恶意软件使用语音识别API,要求受害者通过语音,而非传统的键盘输入方式提供解锁码. 当设备被感染后,Android.Lockdroid.E使用SYSTEM类型窗口锁定设备,随后在锁屏中显示勒索信息,提供解锁的指示.此外,攻击者还会提供可联系的QQ即时通讯ID,使受害者接收有关支付赎金和接

Android新功能:手机丢失谷歌搜索轻松寻回

不少OEM都为自己的机型推出了包含类似"找回丢失手机"功能的安全服务,而Andriod系统的归属者谷歌也曾为其推出过类似服务,就在本周该功能得到进一步完善,现在你可以仅仅通过桌面平台的谷歌搜索引擎就能找回丢失的Android手机.     Android新功能 用谷歌搜索找回丢失手机(图片来自Google+) 当然想要使用该项功能需要在你的手机当中安装最新的"谷歌搜索",不过国内用户就--当你需要寻找手机时,只需要在电脑登陆谷歌搜索就能使用该功能;如果手机在附近,那

Win7系统语音识别功能怎么关闭

  Win7系统语音识别功能怎么关闭 1.从开始菜单中打开"控制面板"程序; 2.在默认的类别视图下,找到并选择"轻松访问"; 3.进入轻松访问窗口,找到"语音识别"选项,点击进入; 4.到了语音识别窗口,在左侧选项中,选择"高级语音选项"; 5.在语音识别的属性窗口,选择"语音识别"选项卡,在"用户设置"下的"启动时运行语音识别"这一项的勾选去掉,点击确定.最后重启

windows7关闭语音识别功能节省系统空间技巧

  windows7关闭语音识别功能节省系统空间技巧           具体方法如下: 1.首先打开"控制面板"选项,将查看方式切换到"类别",然后找到并点击"轻松访问"选项; 2.之后进入轻松访问窗口,找到"语音识别"选项并点击进入; 3.然后在语音识别窗口选择"高级语音选项"选项; 4.最后在语音识别的属性窗口,切换到"语音识别"选项卡,然后将"用户设置"下的&

Win7系统语音识别功能开启方法

  在Wi7系统中,有一个语音识别功能可以让我们彻底抛开鼠标和键盘,只用语音控制电脑,完成编辑文档.使用软件等一系列操作.不过作为主人的你需要耐心地教它识别你的声音哦. 下面小编就为大家介绍一下Win7系统语音识别功能开启方法. Wi7系统语音识别如何开启: 1.首先我们打开"控制面板" 2.在列表中找到"轻松访问中心" 3.点击"使用没有鼠标或键盘的计算机" 4.点击"使用语音识别"即可;  

Android 语音识别— 怎么做到 先识别打电话,再识别电话号码?

问题描述 Android 语音识别- 怎么做到 先识别打电话,再识别电话号码? 由于刚学Android开发,所以有些功能还是不知道怎么去实现.我想按按钮实现语音输入,然后识别,如果我说"打电话",标志位signal为""打电话"".然后再点识别按钮的时候,就读取我说的电话号码"tel_num"然后就直接把这个号码打出去了.我是想实现这个功能,但是我不熟悉Android的执行方式,到真机上就强制关闭,我一直没找到解决办法,求前辈

Android语音识别技术详解及实例代码_Android

   今天从网上找了个例子实现了语音识别,个人感觉挺好玩的,就把代码贴出来与大家分享下:          Android中主要通过RecognizerIntent来实现语音识别,其实代码比较简单,但是如果找不到设置,就会抛出异常ActivityNotFoundException,所以我们需要捕捉这个异常.而且语音识别在模拟器上是无法测试的,因为语音识别是访问google云端数据,所以如果手机的网络没有开启,就无法实现识别声音的!一定要开启手机的网络,如果手机不存在语音识别功能的话,也是无法启用