Sunday, July 26, 2015

Android Application မွာ Voice Recognize လုပ္ျခင္း ....

ဒီသင္ခန္းစာက Android Application ေရးတာကို စိတ္ပါ၀င္စားသူမ်ားအတြက္ပါ။အသံျဖင့္ေစခိုင္းတာကို မိမိ Application မွာ နားလည္ျပီးလုိက္လုပ္ႏိုင္ဖို႔ပါ။ Voice Recognize ကို လုပ္ႏိုင္ဖို႕ android.speech.RecognizerIntent ကိုအသံုးျပဳရပါတယ္။API 16(Jelly Bean) အထက္မွာ Voice Recognize လုပ္ဖို႔ Internet Connection မလိုေတာ့ပါဘူး။Offline ေထာက္ပံ့ေပးပါတယ္။ ဒီ Post မွာ အဓိကအလုပ္လုပ္တဲ့ Code ေတြကိုပဲျပမွာျဖစ္တဲ႔အတြက္ မိမိ Application မွာ အဆင္ေျပသလိုထည့္သံုးၾကပါလို႔တိုက္တြန္းခ်င္ပါတယ္။သင္႔ Application မွာ ေအာက္က API ကို Import လုပ္ေပးပါ။
import android.speech.RecognizerIntent;
ျပီးရင္ Button ျဖစ္ျဖစ္၊ Image Button ျဖစ္ျဖစ္တခုတည္ေဆာက္ပါ။၄င္း Button မွာ OnClickListener ကိုသံုးျပီး Action ကိုနားေထာင္ပါ။ onClick Method ထဲမွာေရးရမယ့္ code က ေအာက္ပါအတုိင္းျဖစ္ပါတယ္။
public void onClick(View v) {
        Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-us");
        try {
            startActivityForResult(intent, RESULT_SPEECH);
        } catch (ActivityNotFoundException exc) {

            Toast.makeText(getApplicationContext(),
                    "Opps! Your device doesn't support Speech to Text",
                    Toast.LENGTH_LONG).show();
        }
ဒါက Speech Recognize လုပ္တာပါ။ Result ကိုျပန္ဖမ္းဖို႔က်ေတာ့ onActivityResult Method ကိုသံုးရပါတယ္။
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
        case RESULT_SPEECH: {
            if (resultCode == RESULT_OK && null != data)
                  text = data
                        .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
           
textView.setText((CharSequence) text.get(0));
}
break;
        }
    }
Voice Recognize လုပ္တာ ေအာင္ျမင္ရင္ RESULT_OK ကုိ return ျပန္ပါတယ္။ရလာတဲ႔ RESULT ကို ArrayList ထဲထည့္ျပီး CharSequence ျပန္ေျပာင္းပါတယ္။ CharSequence ရရင္ေတာ့ မိတ္ေဆြတို႕စိတ္ၾကိဳက္ဆက္လုပ္ႏိုင္ပါတယ္။ဒီ Post မွာေတာ့ Text View ထဲမွာပဲျပန္ေရးျပထားပါတယ္။
Source Code လိုခ်င္ရင္ေတာ့ ေအာက္ကလင့္မွာ Down ပါ။
<< Download Source Code >>



0 comments:

Post a Comment