`
stulpnn
  • 浏览: 68268 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 实现语音识别的完整代码

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

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

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


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

功能界面如下:



用户通过点击speak按钮显示界面:



用户说完话后,将提交到云端搜索:



在云端搜索完成后,返回打印数据:



* 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 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);
}
}



本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-09/43068.htm
  • 大小: 11.8 KB
  • 大小: 21.9 KB
  • 大小: 24.1 KB
  • 大小: 14.4 KB
分享到:
评论

相关推荐

    Android 轻松实现语音识别的完整代码

    ### Android轻松实现语音识别的完整代码解析 #### 一、简介 在移动应用开发领域,尤其是Android平台上,语音识别功能的应用越来越广泛。它不仅能够提升用户体验,还为开发者提供了丰富的可能性来创造更具交互性的...

    Android语音识别软件代码

    本篇将深入探讨如何在Android中实现语音识别,并基于提供的"Android语音识别软件代码"进行详细解析。 首先,我们要了解Android系统内置的`SpeechRecognizer`类,它是Android SDK中的核心组件,用于实现语音识别功能...

    Android 轻松实现语音识别 实例.doc

    根据给定的文件信息,我们可以总结出以下关于“Android轻松实现语音识别”的相关知识点: ### 一、背景介绍 Google的语音识别技术被广泛应用在Android系统中,这得益于Google自身强大的技术支持以及对云端技术的...

    基于 TensorFlow Lite 开发的 Android 端中文语音识别 Demo.zip

    在这个"基于 TensorFlow Lite 开发的 Android 端中文语音识别 Demo.zip"中,我们将探讨如何利用 TensorFlow Lite 在移动设备上实现本地化的中文语音识别功能。 首先,让我们了解 TensorFlow Lite。它是 TensorFlow ...

    android(安卓)语音识别代码

    根据提供的文件信息,我们可以深入探讨Android语音识别的相关知识点,包括其基本原理、代码解析以及如何在实际应用中实现语音识别功能。 ### Android语音识别的基本原理 Android系统内置了强大的语音识别功能,...

    Android应用源码轻松实现语音识别.zip

    下面将详细探讨Android语音识别的关键知识点。 1. **语音识别API**: - Google提供的`SpeechRecognizer`类是Android系统内置的语音识别接口,用于处理用户的语音输入并转换为文本。 - `Intent`在语音识别过程中起...

    android离线语音识别

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

    android语音识别代码

    以下是对“android语音识别代码”这个主题的详细解释。 1. **Android语音识别API**: Android系统内置了Google语音服务,它提供了语音识别接口,可以将用户的语音输入转化为文本。主要涉及到的类有`...

    Android开发集成科大讯飞语音识别+语音合成Demo

    总之,通过这个Android开发集成科大讯飞语音识别+语音合成功能的Demo,开发者不仅能掌握科大讯飞的API使用方法,还能了解到Android应用中第三方服务集成的流程,从而提升自身在语音交互方面的开发能力。

    Android整合SherpaNcnn实现离线语音识别(支持中文,手把手带你从编译动态库开始) 对应jniLibs动态库

    在Android平台上实现离线语音识别是一项技术挑战,但借助第三方库如SherpaNcnn,我们可以构建高效且本地化的解决方案。本教程将详细介绍如何在Android项目中整合SherpaNcnn,实现离线中文语音识别,并从编译动态库...

    Unity3D教程:调用Android语音识别1

    首先,我们需要了解的是,Android系统已经集成了Google的语音识别服务,因此开发者无需额外安装第三方库即可实现语音识别。教程中提到了尝试使用讯飞的语音识别服务,但由于在Unity中调用其mcs.jar包时遇到问题,...

    Android语音识别源码

    在Android平台上实现语音识别功能,通常...综上所述,“Android语音识别源码”项目应该包含了实现高效、准确语音识别的核心代码和策略,对于学习和理解Android语音识别机制以及如何优化识别体验具有很高的参考价值。

    安卓Android源码——轻松实现语音识别.zip

    本篇文章将详细探讨如何在Android源码中实现语音识别,让你轻松掌握这一技术。 首先,我们要了解Android系统的语音识别框架。Android系统内置了Google语音服务,它提供了语音识别的接口供开发者使用。这些接口主要...

    三个android语音识别例程

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

    android语音识别demo

    本示例“android语音识别demo”是基于百度语音识别SDK开发的,旨在帮助开发者快速理解和集成这一功能。 首先,我们要理解的是百度语音识别SDK。这是一个由百度提供的服务,它提供了丰富的语音识别能力,包括离线...

    安卓语音识别文本朗读相关-三个android语音识别例程mystt.rar

    在这个名为“安卓语音识别文本朗读相关-三个android语音识别例程mystt.rar”的压缩包中,包含了一些用于理解和实践这两种技术的源代码示例。虽然无法一一验证每个示例的可用性,但它们可以作为开发者学习和参考的...

Global site tag (gtag.js) - Google Analytics