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

该博客展示了如何在Android应用中实现基于科大讯飞的语音识别功能。通过创建RecognizerDialog监听器来捕获识别结果,并将结果显示在EditText中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

packagecom.wangfubin.xunfenyuyin;importjava.util.ArrayList;importcom.iflytek.speech.RecognizerResult;importcom.iflytek.speech.SpeechError;importcom.iflytek.ui.RecognizerDialog;importcom.iflytek.ui.RecognizerDialogListener;importandroid.os.Bundle;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.app.Dialog;importandroid.content.DialogInterface;importandroid.view.Menu;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.ImageButton;importandroid.widget.LinearLayout;importandroid.widget.Toast;public class MainActivity extendsActivity {privateEditText setedit;privateImageButton yuyinButton;privateButton button1;private String textString = "";

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.main);

button1=(Button)findViewById(R.id.button1);

button1.setOnClickListener(newView.OnClickListener() {

@Overridepublic voidonClick(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("确定",newDialogInterface.OnClickListener() {

@Overridepublic voidonClick(DialogInterface arg0,intarg1) {/*// 数据获取

searchtext(setedit.getText().toString());*/Toast.makeText(MainActivity.this, setedit.getText().toString(), Toast.LENGTH_LONG).show();

}

}).show();

yuyinButton.setOnClickListener(newOnClickListener() {

@Overridepublic voidonClick(View v) {//TODO Auto-generated method stub

showDialog(1);

}

});

}

});

}/*** 语音查询*/@Overrideprotected Dialog onCreateDialog(intid) {

RecognizerDialog recognizerDialog= newRecognizerDialog(

MainActivity.this, "appid=5132fe14");//这里应该写从科大讯飞申请到的appid

recognizerDialog.setEngine("sms", null, null);

recognizerDialog.setListener(newRecognizerDialogListener() {

@Overridepublic void onResults(ArrayListresults,booleanarg1) {for (int i = 0; i < results.size(); i++) {

textString+=results.get(i).text;

}

}

@Overridepublic voidonEnd(SpeechError arg0) {//Toast.makeText(MainActivity.this, textString, 1).show();

setedit.setText(textString.substring(0, textString.length() - 1));

textString ="";

}

});returnrecognizerDialog;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值