您可以使用 android SpeechRecognizer。查看实现的链接:访问https://developer.android.com/reference/android/speech/SpeechRecognizer.html
我在我的一个项目中尝试了 SpecchRecognizer。
首先你必须像这样实现你的活动
public class MainActivity extends Activity implements RecognitionListener
然后在您的 OnClickListener 中执行以下代码。
SpeechRecognizer speech = SpeechRecognizer.createSpeechRecognizer(this);
speech.setRecognitionListener(this);
intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");
intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, this.getPackageName());
speech.startListening(intent);
在 OnActivityResult 中可以得到结果。
ArrayList<String> result = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
textview.setText(result.get(0));
你也可以得到下面的实现。你可以在下面的覆盖方法中做任何你想做的事情。
@Override
public void onBeginningOfSpeech() {
}
@Override
public void onRmsChanged(float rmsdB) {
}
@Override
public void onBufferReceived(byte[] buffer) {
}
@Override
public void onEndOfSpeech() {
}
@Override
public void onError(int error) {
}
@Override
public void onReadyForSpeech(Bundle params) {
}
就是这样。