0
点赞
收藏
分享

微信扫一扫

Android 轻松实现语音识别


苹果的iphone 有语音识别用的是Google 的技术,做为Google 力推的Android 自然会将其核心技术往Android 系统里面植入,并结合google 的云端技术将其发扬光大。


所以Google Voice Recognition在Android 的实现就变得极其轻松。

Android 轻松实现语音识别_listview


语音识别,借助于云端技术可以识别用户的语音输入,包括语音控制等技术,下面我们将利用Google 提供的Api 实现这一功能。


功能点为:通过用户语音将用户输入的语音识别出来,并打印在列表上。


功能界面如下:

Android 轻松实现语音识别_listview_02


用户通过点击speak按钮显示界面:

Android 轻松实现语音识别_listview_03


用户说完话后,将提交到云端搜索:

Android 轻松实现语音识别_button_04


在云端搜索完成后,返回打印数据:

Android 轻松实现语音识别_button_05

 

Android 轻松实现语音识别的完整代码

 


Java代码 ​​​​​  ​​​​

1. * Copyright (C) 2008
2. *
3. * Licensed under the Apache License, Version 2.0 (the "License");
4. * you may not use this
5. * You may obtain a copy of the License at
6. *
7. * http://www.apache.org/licenses/LICENSE-2.0
8. *
9. * Unless required by applicable law or agreed to in writing, software
10. * distributed under the License is distributed on an "AS IS"
11. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12. * See the License for
13. * limitations under the License.
14. */
15.
16. package
17.
18. import
19.
20. import
21. import
22. import
23. import
24. import
25. import
26. import
27. import
28. import
29. import
30. import
31.
32. import
33. import
34.
35. /**
36. * Sample code that invokes the speech recognition intent API.
37. */
38. public class VoiceRecognition extends Activity implements
39.
40. private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234;
41.
42. private
43.
44. /**
45. * Called with the activity is first created.
46. */
47. @Override
48. public void
49. super.onCreate(savedInstanceState);
50.
51. // Inflate our UI from its XML layout description.
52. setContentView(R.layout.voice_recognition);
53.
54. // Get display items for later interaction
55. Button speakButton = (Button) findViewById(R.id.btn_speak);
56.
57. mList = (ListView) findViewById(R.id.list);
58.
59. // Check to see if a recognition activity is present
60. PackageManager pm = getPackageManager();
61. List activities = pm.queryIntentActivities(
62. new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
63. if (activities.size() != 0) {
64. speakButton.setOnClickListener(this);
65. } else
66. speakButton.setEnabled(false);
67. speakButton.setText("Recognizer not present");
68. }
69. }
70.
71. /**
72. * Handle the click on the start recognition button.
73. */
74. public void
75. if
76. startVoiceRecognitionActivity();
77. }
78. }
79.
80. /**
81. * Fire an intent to start the speech recognition activity.
82. */
83. private void
84. Intent intent = new
85. intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
86. RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
87. intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo");
88. startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
89. }
90.
91. /**
92. * Handle the results from the recognition activity.
93. */
94. @Override
95. protected void onActivityResult(int requestCode, int
96. if
97. // Fill the list view with the strings the recognizer thought it could have heard
98. ArrayList matches = data.getStringArrayListExtra(
99. RecognizerIntent.EXTRA_RESULTS);
100. mList.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1,
101. matches));
102. }
103.
104. super.onActivityResult(requestCode, resultCode, data);
105. }
106. }

举报

相关推荐

0 条评论