android 语音识别
16lz
2022-04-04
1.先检测devices是否support.
PackageManager pm = getPackageManager();List<ResolveInfo> activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);if (activities.size() == 0) {btnSpeak.setEnabled(false);btnSpeak.setText("Voice recognize disabled");}
2.发送intent。
try {Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "start");startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();Toast.makeText(RecognizeCall.this, "Not found voice recognize devices!", Toast.LENGTH_LONG).show();}
3.获取返回的content:
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubif (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {ArrayList<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);String result="";for (String temp : results) {result += temp + "\r\n";}}super.onActivityResult(requestCode, resultCode, data);}
权限:
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
更多相关文章
- Android(安卓)基于4G模块 GPS定位
- 获取Android应用程序的签名
- Java.lang.ClassNotFound Instrumentation 测试异常
- Android(安卓)Http 异步请求
- Android中Bitmap、Drawable、byte[]转换
- android一些技巧
- Delphi XE5 android 获取网络状态《转》
- android 打开通知栏
- [置顶] android调用系统相机拍照并保存在本地