问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在android平台上实现语音识别

发布网友 发布时间:2022-05-11 07:18

我来回答

1个回答

热心网友 时间:2023-10-08 17:35

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

步骤阅读
2
用户通过点击speak按钮显示界面:
步骤阅读
3
用户说完话后,将提交到云端搜索
步骤阅读
4
在云端搜索完成后,返回打印数据:
步骤阅读

5
* 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);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
孩子依赖性太强,妈妈怎么办?目录 孩子对妈妈依赖性太强怎么办 介绍权利的游戏里龙之母全名是什么? 澳洲血橙胶原蛋白是玻璃瓶的吗? 梦见母亲侄子妹妹舅妈电话破屋的预兆 梦见坐别人的车什么意思 有多少人去拜过“龙母”,又有几人知道“龙母”是真的存在过 龙母庙地址在哪里? 龙母像地址在哪里? 龙姥姥是龙母娘娘吗 一个一亿人用的语音识别APP,需要多少人开发 请问屋面几分水怎么计算呢?另外有公式吗? 屋顶几分水是怎么计算出来的? 信用账户有钱普通账户没钱可以开通创业板吗 房屋分水具体怎么计算?他们经常说4分水 ,5分水等等,具体计算公式是怎样的? 高中生毕业后想留学伦敦艺术大学怎么办 伦敦艺术大学研究生对托福的要求是多少,各科小分有什么具体要求 伦敦大学艺术类专业雅思要求是什么? 伦敦艺术大学雅思5.0可以录取吗? 3g手机和4g手机有啥区别 最高限速60,65算超速吗 货车在高速公路上的最高时速限制为多少 PBBTOOOPPOA7X光遇可以分屏吗 2013河南大学生创业贷款 能贷多少钱??? 河南省针对大学生毕业后自主创业问题有什么政策? 河南省大学生创业的具体政策 社会保障卡弄丢了怎样余额查询 源文件中的meta有啥作用 excel中怎么批量删除空白行 2014年1月到2016年五月,央行基准利率调整了几次。急求利率调整表 怎么在U3D中添加语音识别啊,求帮忙 如何在调用讯飞语音API时不弹出”请说话“对话框,又能完成语音识别的功能 农村建房,屋面水法应如何计算 Xamarin有自己的语音识别技术吗?或者支持什么语音识别框架或API(iOS)方面的 筒瓦一般取几分水 30度的屋面等于几分水,怎么算的,假如进升4米,高是多少?急 4分水的屋脊角度是多少? 建房屋坡屋顶是怎么算水的? 屋面分水面积是什么意思? 坡屋面屋脊长度如何计算 斜屋顶分水是用三角形的什么公式计算 屋脊工程量如何计算? 五分水与四分半水表示坡度什么 农村平瓦屋面几分水为宜? 哪位gg&jj能不能搞到上交大《材料科学基础》和《材料热力学与动力学》考博专业课的历届试卷? 材料热力学与动力学的介绍 动力学和热力学解决的问题有什么不同?并举两个例子。 材料热力学与动力学的图书简介 热力学中的相似性原理 无机材料热力学与动力学哪个教材好