日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android利用RecognizerIntent识别语音并简单实现打电话动作

發布時間:2024/1/17 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android利用RecognizerIntent识别语音并简单实现打电话动作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關于Android利用RecognizerIntent識別語音并簡單實現打電話,具體看實現代碼如下: package com.example.recognizerintentactivity;import java.util.ArrayList;import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.speech.RecognizerIntent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast;public class MainActivity extends Activity {private Button btnReconizer; private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234;@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);btnReconizer = (Button) this.findViewById(R.id.btnRecognizer); btnReconizer.setOnClickListener(new OnClickListener() {@Override public void onClick(View v) { // TODO Auto-generated method stub try { // 通過Intent傳遞語音識別的模式,開啟語音 Intent intent = new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH); // 語言模式和自由模式的語音識別 intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); // 提示語音開始 intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "開始語音"); // 開始語音識別 startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); Toast.makeText(getApplicationContext(), "找不到語音設備", 1) .show(); } } });}@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub // 回調獲取從谷歌得到的數據 if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) { // 取得語音的字符 ArrayList<String> results = data .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);String resultString = ""; for (int i = 0; i < results.size(); i++) { resultString += results.get(i); }if(resultString.indexOf("喂") >-1){ String tel = "15100000000"; Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" + tel)); startActivity(intent); Toast.makeText(this,tel, 1).show(); }else{ Toast.makeText(this, "沒找到要撥打的電話", 1).show(); } } super.onActivityResult(requestCode, resultCode, data); } } 這里,我們需要注意的是,需要用到兩個權限,一個是網絡資源,一個是打電話的這個動作權限,因此,我們需要修改 AndroidMainfest.xml增加兩條內容,如下 <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.INTERNET" />

總結

以上是生活随笔為你收集整理的Android利用RecognizerIntent识别语音并简单实现打电话动作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。