首页 文章 精选 留言 我的

精选列表

搜索[AI识别],共10000篇文章
优秀的个人博客,低调大师

教你实现语音识别(基于科大讯飞)

1),首先在官网下载相关jar包 2)自定义界面设计: R.layout.activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="10dp" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="请先到餐厅预定选择店铺" android:textAppearance="?android:attr/textAppearanceMedium" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <ImageButton android:id="@+searchdialog/imageButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@color/transparent" android:padding="10dp" android:src="@android:drawable/ic_btn_speak_now" /> <EditText android:id="@+searchdialog/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:ems="10" android:padding="10dp" > <requestFocus /> </EditText> </LinearLayout> </LinearLayout> main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/content" /> </LinearLayout> 2) 逻辑实现 首先添加相关jar包以及so文件,如下 权限添加: <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 代码实现: package com.wangfubin.xunfenyuyin; import java.util.ArrayList; import com.iflytek.speech.RecognizerResult; import com.iflytek.speech.SpeechError; import com.iflytek.ui.RecognizerDialog; import com.iflytek.ui.RecognizerDialogListener; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.LinearLayout; import android.widget.Toast; public class MainActivity extends Activity { private EditText setedit; private ImageButton yuyinButton; private Button button1; private String textString = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button1 = (Button)findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { LinearLayout LinearLayout1 = (LinearLayout) getLayoutInflater() .inflate(R.layout.activity_main, null); setedit = (EditText) LinearLayout1.findViewById(R.searchdialog.editText1); yuyinButton = (ImageButton) LinearLayout1.findViewById(R.searchdialog.imageButton1); new AlertDialog.Builder(MainActivity.this) .setTitle("请输入查询关键字") .setIcon(android.R.drawable.ic_dialog_info) .setView(LinearLayout1) .setPositiveButton("取消", null) .setNegativeButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { /*// 数据获取 searchtext(setedit.getText().toString());*/ Toast.makeText(MainActivity.this, setedit.getText().toString(), Toast.LENGTH_LONG).show(); } }).show(); yuyinButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub showDialog(1); } }); } }); } /** * 语音查询 */ @Override protected Dialog onCreateDialog(int id) { RecognizerDialog recognizerDialog = new RecognizerDialog( MainActivity.this, "appid=5132fe14");// 这里应该写从科大讯飞申请到的appid recognizerDialog.setEngine("sms", null, null); recognizerDialog.setListener(new RecognizerDialogListener() { @Override public void onResults(ArrayList<RecognizerResult> results, boolean arg1) { for (int i = 0; i < results.size(); i++) { textString += results.get(i).text; } } @Override public void onEnd(SpeechError arg0) { // Toast.makeText(MainActivity.this, textString, 1).show(); setedit.setText(textString.substring(0, textString.length() - 1)); textString =""; } }); return recognizerDialog; } }

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册