Sunday 10 November 2013

SpeechToText Example

Here i am going to explain you SpeechToText Example. This example required internet connection to perform, but not required any kind of permission in Manifest of the project, we are using SpeechRecognizer to perform this task.

SpeechRecognizer

This class provides access to the speech recognition service. This service allows access to the speech recognizer. The implementation of this API is likely to stream audio to remote servers to perform speech recognition. As such this API is not intended to be used for continuous recognition, which would consume a significant amount of battery and bandwidth.

Example:





Code:

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_gravity="center"
        android:layout_marginTop="70dp"
        android:src="@drawable/speak_mic" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="40dp"
        android:gravity="center"
        android:text="Click On Mic to Record  Your Voice"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>


MainActivity.java

package in.androiddevelopmentanddiscussion.speechtotextexample;

import java.util.ArrayList;

import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import android.app.Activity;
import android.content.Intent;

public class MainActivity extends Activity {

static final int RESULT_SPEECH = 1;
ImageView mic;
TextView output;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mic = (ImageView)findViewById(R.id.imageView1);
output = (TextView)findViewById(R.id.textView1);

mic.setOnClickListener(new OnClickListener() {

@Override
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);
output.setText("");
}catch(Exception e){
Toast.makeText(MainActivity.this,"Ops! Your device doesn't support Speech to Text",Toast.LENGTH_SHORT).show();
}
}
});
}

@Override
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) {
ArrayList<String> text = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
output.setText(text.get(0));
}
break;
}
}
}

}


Download full project from here



Check Android Apps on Google Play

https://play.google.com/store/apps/developer?id=Metro%20App%20Solution&hl=en

 

No comments:

Post a Comment